Для начала создаем базу данных и таблицу. Входим в MySQL, и выполняем команды:
CREATE DATABASE products; CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise VARCHAR(8)); |
Для общения с MySQL из PHP понадобятся следующие функции.
int mysql_connect(string hostname, string username, string password);
Создать соединение с MySQL.
Параметры:
- Hostname – имя хоста, на котором находится база данных.
- Username – имя пользователя.
- Password – пароль пользователя.
Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.
int mysql_select_db(string database_name, int link_identifier);
Выбрать базу данных для работы.
Параметры:
- Database_name – имя базы данных.
link_identifier – ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect)
Функция возвращает значение true или false
int mysql_query(string query, int link_identifier);
Функция выполняет запрос к базе данных.
Параметры:
- Query – строка, содержащая запрос
Теперь наш файл email.php будет иметь следующий вид:
<?php /* Этот скрипт получает переменные из request.html */ /* Переменные для соединения с базой данных */ $hostname = "localhost"; $username = "myusername"; $password = "mypassword"; $dbName = "products"; /* Таблица MySQL, в которой хранятся данные */ $userstable = "clients"; /* email администратора */ $adminaddress = "administration@yahoo.com"; /* создать соединение */ mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); /* выбрать базу данных. Если произойдет ошибка - вывести ее */ mysql_select_db($dbName) or die(mysql_error()); echo "<CENTER>"; echo "Привет, ".$_POST['name']; echo "<BR><BR>"; echo "Спасибо за ваш интерес.<BR><BR>"; echo "Вас интересуют ".$_POST['preference']. ". Информацию о них мы пошлем вам на email: ".$_POST['email']; echo "</CENTER>"; /* Отправляем email-ы */ $subj = "Запрос на информацию"; $text = "Уважаемый ".$_POST['name']."! Спасибо за ваш интерес! Вас интересуют ".$_POST['preference']." Мы их распространяем бесплатно. Обратитесь в ближайший филиал нашей компании и получите ящик этого продукта."; mail($_POST['email'], $subj, $text); $subj="Поступил запрос на информацию"; $text = $_POST['name']." интересовали ".$_POST['preference']. " email-адрес: ".$_POST['email']; mail($adminaddress, $subj, $text); /* запрос для вставки информации о клиенте в таблицу */ $query = "INSERT INTO $userstable VALUES ('$name','$email','$preference')"; /* Выполнить запрос. Если произойдет ошибка - вывести ее. */ mysql_query($query) or die(mysql_error()); echo "Информация о вас занесена в базу данных."; /* Закрыть соединение */ mysql_close(); ?> |
Вот так легко можно работать с базой данных в PHP. Теперь кроме письменных уведомлений, информация о клиенте и его интересах будет заносится в таблицу MySQL.
Работа с MySQL (получение данных из базы данных).
После занесения данных, нас иногда будет интересовать вопрос так кого же из наших клиентов интересует товар «Яблоки»?.
Напишем скрипт apple.php
<?php // Скрипт показывает клиентов, которые // яблоки любят больше чем апельсины /* Переменные для соединения с базой данных */ $hostname = "localhost"; $username = "myusername"; $password = "mypassword"; $dbName = "products"; /* Таблица MySQL, в которой хранятся данные */ $userstable = "clients"; /* создать соединение */ mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); /* выбрать базу данных. Если произойдет ошибка - вывести ее */ mysql_select_db($dbName) or die(mysql_error()); // составить запрос, который выберет //всех клиентов - яблочников $query = "SELECT * FROM $userstable WHERE choise = 'Яблоки'"; /* Выполнить запрос. Если произойдет ошибка - вывести ее. */ $res = mysql_query($query) or die(mysql_error()); /* Как много нашлось таких */ $number = mysql_num_rows($res); /* Напечатать всех в красивом виде*/ if ($number == 0) { echo "<CENTER><P>Любителей яблок нет</CENTER>"; } else { echo "<CENTER><P>Количество любителей яблок: $number<BR><BR>"; /* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */ while ($row=mysql_fetch_array($res)) { echo "Клиент ".$row['name']." любит Яблоки.<BR>"; echo "Его Email: ".$row['email']; echo "<BR><BR>"; } echo "</CENTER>"; } ?> |
Вот и все, коммерческий продукт практически готов.