Как создать базы Вконтакте

Для выполнения запросов у объекта mysqli вызывается метод query() , в который передается выполняемая команда SQL:

$conn = new mysqli(«localhost», «root», «mypassword»); $conn->query(команда_sql);

Если выполнение запроса прошло успешно, то метод query() возвращает true , если неудачно, то возвращается false .

Процедурный подход

При процедурном подходе для выполнения вызывается функция mysqli_query() , в которую передается объект подключения и выполняемая команда SQL:

$conn = mysqli_connect(«localhost», «root», «mypassword»); mysqli_query($conn, $query);

Если выполнение запроса прошло успешно, то функция mysqli_query() возвращает true , если неудачно, то возвращается false .

Создание базы данных

Для создания базы данных в MySQL применяется команда CREATE DATABASE , после которой указывается имя создаваемой базы данных. Создадим базу данных с помощью PHP.

Объектно-ориентированный подход

connect_error)< die(«Ошибка: » . $conn->connect_error); > // Создаем базу данных testdb2 $sql = «CREATE DATABASE testdb2»; if($conn->query($sql)) < echo «База данных успешно создана»; >else< echo «Ошибка: » . $conn->error; > $conn->close(); ?>

Здесь создается база данных testdb2 . Если при выполнении команды возникнет ошибка, то мы можем получить информацию о ней через свойство $conn->error .

БАЗА ДАННЫХ ПОЛЬЗОВАТЕЛЕЙ ДЛЯ БОТА ВК

Процедурный подход

// Создаем базу данных testdb3 $sql = «CREATE DATABASE testdb3»; if(mysqli_query($conn, $sql)) < echo «База данных успешно создана»; >else < echo «Ошибка: » . mysqli_error($conn); >mysqli_close($conn); ?>

Здесь создается база данных testdb3 . Если при выполнении команды возникнет ошибка, то мы можем получить информацию о ней через функцию mysqli_error() , в которую передается объект подключения.

Создание таблицы

Создав базу данных, мы можем добавить в нее таблицы для хранения данных. Для создания таблицы в MySQL применяется команда CREATE TABLE , после которой указывается имя создаваемой таблицы и в скобках определения столбцов. Например, создадим в ней таблицу, которая описывается следующим кодом

CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);

Здесь создается таблица под названием «users». Она будет хранить условных пользователей. В ней будет три столбца: id, name и age. Столбец id представляет числовой уникальный идентификатор строки — или идентификатор пользователя.

Столбец name представляет строку — имя пользователя. А столбец age хранит число — возраст пользователя.

Объектно-ориентированный подход

connect_error)< die(«Ошибка: » . $conn->connect_error); > $sql = «CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);»; if($conn->query($sql)) < echo «Таблица Users успешно создана»; >else< echo «Ошибка: » . $conn->error; > $conn->close(); ?>

Если мы обращаемся уже непосредственно к базе данных, то ее имя передается в качетстве четвертого параметра в конструктор mysqli : new mysqli(«localhost», «root», «mypassword», «testdb2»); .

Как загрузить базу клиентов в рекламный кабинет ВК и сделать похожую аудиторию?| ВКТОНТАКТЕ

Процедурный подход

$sql = «CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);»; if(mysqli_query($conn, $sql)) < echo «Таблица Users успешно создана»; >else < echo «Ошибка: » . mysqli_error($conn); >mysqli_close($conn); ?>

Если мы подключаемся к конкретной базе данных, то ее имя передается в качетстве четвертого параметра в функцию mysqli_connect() : mysqli_connect(«localhost», «root», «mypassword», «testdb3») .

Источник: metanit.com

Как создать и вести базу клиентов в программе Excel?

Как создать и вести базу клиентов в программе Excel?

За 2-3 года работы у Вас может накопиться несколько десятков постоянных клиентов и заказчиков, кому нужны Ваши услуги время от времени. Кроме них, накопится огромное количество заказчиков, которые обращались за услугами 1-2 раза, и в идеале с ними необходимо поддерживать контакт и постараться перевести в категорию постоянных клиентов.

Решить эти задачи можно при помощи ведения базы клиентов. Для этого существуют различные CRM, но как правило, они платные. Бесплатный вариант – создать и вести базу клиентов в Excel. Давайте посмотрим, как может формироваться база клиентов в данной программе.

В статье рассмотрим два варианта ведения базы — простой и сложный, с большим числом полей и функций.

База клиентов в Excel (простой вариант)

Специально для фрилансеров мы сделали бесплатную программу для ведения базы клиентов в Excel. В принципе, она универсальна и при небольшой адаптации может использоваться в торговых или сервисных компаниях с небольшим числом клиентов. Ниже будут комментарии, как с ней работать.

Еще по теме:  Когда Вконтакте будет в app store

простая база клиентов в Excel

Лист «Мои услуги» – представляет список, в который можно включить до 10 услуг. Услуги из этого списка Вы сможете выбрать при добавлении информации о клиенте в базу данных.

Лист «Клиенты» – база клиентов, с которыми Вы работаете или работали. База включает следующую информацию:

  • Порядковый номер клиента. Позволяет понять, насколько велико число Ваших клиентов.
  • Имя клиента – можно вводить имя или ФИО, а также название компании
  • Телефон
  • E-mail
  • Что заказывает – поле заполняется путем выбора услуги из выпадающего списка. Если клиент заказывает несколько услуг, можно выбрать из списка основную, а другие указать в комментариях.
  • Комментарий – описание клиента в свободной форме, особенности работы с заказчиком.
  • Дата первого заказа – дата получения первого заказа. Позволяет понять, насколько долго Вы уже работаете с клиентом.
  • Дата последнего заказа – важный параметр, позволяет отследить последнюю продажу клиенту. Например, Вы можете отсортировать клиентов по дате последнего заказа и посмотреть, кто из клиентов давно ничего не заказывал – написать им, напомнить о себе и, возможно, получить новый заказ.

По каждому полю список клиентов можно сортировать. Например, сделать сортировку по типам заказываемых услуг, чтобы понять, кто из клиентов покупает «копирайтинг» и сделать им специальное предложение на написание текстов (если Вы решили сделать таковое).

При желании количество полей в базе клиентов в Excel можно дополнять, но на мой взгляд, слишком перегружать таблицу не стоит.

Как работать с простой базой клиентов в Excel?

  • Добавляйте в базу всех новых клиентов, которые оформили реальный заказ (т.е. тех, кто просто позвонил или один раз что-то написал, но не купил – добавлять не нужно);
  • Раз в полгода отслеживайте клиентов, которые давно не делали заказы. Напишите им, напомните о себе. Чаще, чем раз в полгода, писать не стоит – иначе Вы рискуете слишком надоесть клиенту. Но это верно только для фрилансеров, в каких-то сферах стоит чаще напоминать о себе 🙂
  • Если Вы чувствуете спад в количестве заказов, сделайте клиентам специальное предложение. Например, сделайте скидку на копирайтинг и напишите постоянным клиентам, кто заказывает тексты, о снижении цен.
  • Используйте столбец с комментариями, чтобы указать особенности каждого клиента, которые помогут Вам эффективно работать с заказчиком. Например, каким-то заказчикам нужно помочь с составлением технического задания – отметьте это в комментариях, чтобы не забыть помочь с ТЗ.

База клиентов в Excel (расширенный вариант)

расширенная версия базы клиентов в Excel

В расширенном варианте базы у каждого клиента можно указать дополнительные сведения:

  • Канал привлечения – источник получения клиента. Список источников можно отредактировать на листе «Каналы привлечения». Допускается указывать до 20 каналов.
  • Статус – активный или не активный. По умолчанию ставьте всем клиентам активный статус. Ниже я расскажу, в каких случаях его нужно менять на не активный.

В расширенной базе имеется функция отслеживания клиентов, которым нужно напомнить о своих услугах. Если у активного клиента с момента последнего заказа прошло более 6 месяцев, в столбике «Пора звонить» ячейка станет красной. В примере выше Вы можете увидеть такую ячейку у клиента №1. В этом случае рекомендую написать клиенту и напомнить о себе.

Если Вы получили новый заказ от такого клиента, укажите дату нового заказ в столбике «Дата последнего заказа». Если клиент ничего не ответит, переводите его в не активный статус. По не активным клиентам система не делает напоминаний.

Резюме

Программа Excel позволяет создать еще более сложные и интересные базы клиентов. В наших примерах достаточно простые варианты, но именно из-за простоты они позволяют не тратить много времени на ведение базы клиентов, а с другой – помогают поддерживать отношения с клиентами и получать больше заказов.

Если у Вас есть предложения по доработке шаблонов, представленных в статье, пишите в комментариях.

Дополнительные материалы

CRM система Мегаплан

Что такое CRM-система?
Обзор бесплатных и платных CRM, помогающих вести проекты и отслеживать важные задачи.

планировщик времени в Excel

Как планировать рабочее время и вести учет дел в Excel?
Бесплатная программа в Excel, которая поможет вам привести дела в порядок.

Источник: www.kadrof.ru

Еще по теме:  Как связаться с человеком который тебя заблокировал в ВК

Класс для работы с базой данных

Класс для работы с базой данных

Недавно я заметил, что в Интернете можно найти огромное количество PHP-классов для работы с базой данных. Как обычно, они всегда щеголяют своей функциональностью и количеством возможностей. Я решил тоже написать свой класс для работы с базой данных, но пошёл по другому пути. Я хотел сделать такой класс, чтобы в нём был тот необходимый минимум функционала, который только и требуется. Всё остальное — это уже непонятные навороты, которые использовать, как минимум, небезопасно.

Привожу свой прокомментированный класс для работы с базой данных:

/* private-конструктор, подключающийся к базе данных, устанавливающий локаль и кодировку соединения */
private function __construct() $this->mysqli = new mysqli(«localhost», «root», «», «my_db»);
$this->mysqli->query(«SET lc_time_names = ‘ru_RU'»);
$this->mysqli->query(«SET NAMES ‘utf8′»);
>

/* Вспомогательный метод, который заменяет «символ значения в запросе» на конкретное значение, которое проходит через «функции безопасности» */
private function getQuery($query, $params) if ($params) for ($i = 0; $i < count($params); $i++) $pos = strpos($query, $this->sym_query);
$arg = «‘».$this->mysqli->real_escape_string($params[$i]).»‘»;
$query = substr_replace($query, $arg, $pos, strlen($this->sym_query));
>
>
return $query;
>

/* SELECT-метод, возвращающий таблицу результатов */
public function select($query, $params = false) $result_set = $this->mysqli->query($this->getQuery($query, $params));
if (!$result_set) return false;
return $this->resultSetToArray($result_set);
>

/* SELECT-метод, возвращающий одну строку с результатом */
public function selectRow($query, $params = false) $result_set = $this->mysqli->query($this->getQuery($query, $params));
if ($result_set->num_rows != 1) return false;
else return $result_set->fetch_assoc();
>

/* SELECT-метод, возвращающий значение из конкретной ячейки */
public function selectCell($query, $params = false) $result_set = $this->mysqli->query($this->getQuery($query, $params));
if ((!$result_set) || ($result_set->num_rows != 1)) return false;
else $arr = array_values($result_set->fetch_assoc());
return $arr[0];
>
>

/* НЕ-SELECT методы (INSERT, UPDATE, DELETE). Если запрос INSERT, то возвращается id последней вставленной записи */
public function query($query, $params = false) $success = $this->mysqli->query($this->getQuery($query, $params));
if ($success) if ($this->mysqli->insert_id === 0) return true;
else return $this->mysqli->insert_id;
>
else return false;
>

/* Преобразование result_set в двумерный массив */
private function resultSetToArray($result_set) $array = array();
while (($row = $result_set->fetch_assoc()) != false) $array[] = $row;
>
return $array;
>

/* При уничтожении объекта закрывается соединение с базой данных */
public function __destruct() if ($this->mysqli) $this->mysqli->close();
>
>
?>

Как видите, нет ничего лишнего, только всё самое необходимое. Теперь разберём PHP-код, который использует данный класс:

$db = DataBase::getDB(); // Создаём объект базы данных
$query = «SELECT * FROM `users` WHERE `id` > AND `online` = «;
$table = $db->select($query, array(10, 1)); // Запрос явно должен вывести таблицу, поэтому вызываем метод select()
$query = «SELECT `login` FROM `users` WHERE `email` = «;
$login = $db->selectCell($query, array(«[email protected]»));// Запрос должен вывести конкретную ячейку, поэтому вызываем метод selectCell()
?>

Теперь Вы понимаете, что для удобной и безопасной работой с базой данных вовсе не требуется библиотека из 100 классов. Всё необходимое имеется, и данный класс без проблем обработает любой запрос. Единственное, что я рекомендую — это настройки вынести в отдельный класс. То есть адрес хоста, имя пользователя, пароль, название базы данных, кодировку, локаль и «символ значения» вынести в отдельный класс, откуда их считывать.

Вот такой незамысловатый класс для работы с базой данных я использую в своих проектах.

Создано 22.02.2013 10:19:16

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 21 ):

    sync.o 22.02.2013 11:40:12

    Интересный метод getQuery(), напоминает параметризованные запросы prepare(), bind_param(). Как по вашему, стоит ли заморачиваться с ними или для безопасности вполне хватит вашего подхода для подстановки значений в запрос?

    Еще по теме:  Вы ведете страницу в социальной сети Вконтакте на которой публикуете небольшие статьи

    Admin 22.02.2013 20:17:27

    Лично я их не использую и особого смысла не вижу.

    malina95 25.06.2013 02:10:34

    Михаил, а можете написать пример изменёной функции getQuery так, чтобы ставить не а что-то типа :i, :s, 😕 тоесть i это число, s это строка, ? это любое значение, как сделать такое распределение, напишите пожалуйста, если вдруг тут не захотите писать, то напишите мне в ответ «Пишите на форум и я отвечу и помогу с примером», хорошо?

    Scaletta 14.07.2013 16:50:37

    Михаил, возникла проблема. Все методы работают кроме select и selectRow. Не знаю в чем проблема, никаких ошибок не выводит но и то, что нужно тоже 🙁 Я в отчаянии.

    Admin 14.07.2013 17:08:30

    Скорее всего, ошибка в Вашем запросе. Используйте этот метод для поиска ошибок: http://myrusakov.ru/php-finderror.html и для поиска ошибки в SQL: http://myrusakov.ru/sql-finderror.html

    Scaletta 14.07.2013 17:21:31

    Ок, задам вопрос по другому. Как правильно вывести все данные из таблицы в БД используя метод select в вашем классе? $query = «SELECT * FROM `users`»; $db->select($query) — не прокатывает, возвращает Array если вывести print-ом.

    Admin 14.07.2013 21:38:14

    Он Array и должен возвращать. Это же массив данных.

    tanysha86 15.10.2013 23:46:09

    Михаил, спасибо БОЛЬШОЕ Вам за это курс, подскажите, пожалуста, нет ли в отправке формы в БД каких-либо особенностей при отправке значений радиокнопок? У меня есть форма отзыва о компании, в которой есть 2 текстовых поля и 2 поля с радиокнопками. Значения полей с текстом в БД попадает, а выбранное значение радиокнопок-нет. просто пустая ячейка. Хотя через echo на странице оно выводиться?

    Admin 16.10.2013 11:43:10

    Никаких особенностей нет, надо просто искать ошибку: http://myrusakov.ru/php-finderror.html

    tuttifrutti 07.02.2014 01:12:31

    Спасибо за класс, удобно. Прошу показать пример работы с insert и update

    Avery 23.02.2014 16:24:02

    Мне больше вот этот нравится, не знаю, дает он 100% защиту от sql инъекция, но хотя бы какая то. http://habrahabr.ru/post/165069/

    kruty 09.03.2014 20:28:26

    Дякую за посилання.. дуже зручно і безпечно.

    mikelyo 05.06.2014 16:20:01

    Не получается подключиться к базе данных. Куда класть этот файл класса БД?

    tikkiwiki 05.06.2014 16:33:07

    В папку положите корневую.

    mikelyo 05.06.2014 17:34:42

    Так и сделал. Все пхп туда положил. Даже пароль от базы данных пишу нарочно неправильный — ошибки не выдает.

    mikelyo 05.06.2014 21:29:59

    Сделал! Сделал! Оказывается в файле класса БД не надо было прописывать данные БД (логин пароль и пр.)!

    McLotos 17.07.2014 10:01:45

    А я его чуть-чуть под себя переделал. Убрал конструктор, вместо него добавил метод set_parameters(). Это позволило задавать параметры объекта при создании нового экземпляра. Т.е. реализовано это так public $server; public $host; public $port; public $user; public $pass; public $base; public function set_parameters() < $this->mysqli = new mysqli($this->host.’:’.$this->port,$this->user,$this->pass,$this->base); $this->mysqli->query(«SET lc_time_names = ‘ru_RU'»); $this->mysqli->query(«SET NAMES ‘utf8′»); > Теперь когда мне нужно создать новый экземпляр класса с другими параметрами, я делаю так $db = new dBase; $db -> server = SQL_SERVER; $db -> host = SQL_HOST; $db -> port = SQL_PORT; $db -> user = SQL_USER; $db -> pass = SQL_PASS; $db -> base = SQL_BASE; $db -> set_parameters(); Таким образом класс стал более гибким, ну т.е. мне не нужно каждый раз править файл класса чтобы подключиться к новому серверу, и появилась возможность переключаться между серверами «на лету»

    Icetalis 05.11.2015 17:23:13

    Добрый день. Не могу понять, а по чему в методах массиву $params присваевается значиние false?

    Ibragim_09_1986 27.04.2016 09:55:44

    В запрос msqli->query(объект) отправляется как параметр объект класса. Вопрос: как этот запрос вытаскивает из объекта сформированный запрос для баз данных msql? Пример Вашего кода: $result_set = $this->mysqli->query(AbstractSelect $select);

    shmel010201 24.06.2016 15:40:15

    Добавить этот весь код надо в один файл? У меня database_class.php

    SaxoBeat 12.02.2017 03:29:42

    Подскажите я делаю запрос $query_made_pay_advertise = $db->select(«SELECT * FROM `made_pay_advertise` WHERE `advertise_id` = «.$advertise_id.» AND `status` = 2 ORDER BY `id` DESC»); while($row_made_pay_advertise = $db->selectRow($query_made_pay_advertise))< echo «id = «.$row_made_pay_advertise[‘id’].»
    «; > но ничего не выводит

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Источник: myrusakov.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...