Букварь по PHP и MySQL.Работа с MySQL (вывод данных из базы данных).

Недорогой но высококачественный сайт. Такое может быть? Да. У нас может быть всё. Достойное качество по доступной цене.
С точки зрения нашей студии создание сайта недорого значит, прежде всего, отменно, технологично и потом уже - недорого.
Удаленная форма работы с клиентами оптимизирует наши расходы и мы можем делать сайты по всему миру. Вам совсем не нужно приезжать к нам. Мы сэкономим Ваше время и средства.

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


Этот документ создан на основе компиляции нескольких документов, авторами которых являются перечисленные на титульной старнице люди, а также на основе перевода с английского страниц-учебников, которые в обилии можно встретить на многочисленных Web-узлах в Интернете, посвященных программированию на PHP и связи его с MySQL. Данный труд не ставит целью заменить собой мануалы по PHP и MySQL. Дело в том, что большинство материалов, в том числе и руководства к данным программным продуктам пока распространяются на английском языке. Качественные пособия на русском языке встречаются редко. Данный букварь просто поможет вам сделать первые шаги в изучении PHP и способах взаимодействия его с БД MySQL. Буду рад, если в этой книге вы найдете ответы на свои основные вопросы. Труд еще не закончен и будет пополнятся и улучшаться

                    




Работа с MySQL (вывод данных из базы данных)

Для понимания этой главы от вас требуются крепкие знания языка SQL и принципов работы баз данных. Для начала создаем базу данных и таблицу. Входим в командную строку MySQL, и выполняем команды:

mysql > CREATE DATABASE mydb;

mysql> CREATE table employees

( id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT,

first varchar(20), last varchar(20), address varchar(255),

position varchar(50), PRIMARY KEY (id), UNIQUE id (id));

INSERT INTO employees VALUES

(1,'Bob','Smith','128 Here St, Cityname','Marketing Manager');

INSERT INTO employees VALUES

(2,'John','Roberts','45 There St ,Townville','Telephonist');

INSERT INTO employees VALUES

(3,'Brad','Johnson','1/34 Nowhere Blvd, Snowston','Doorman');

В результате у нас будет создана база данных mydb. В ней будет создана таблица employees (работники). И в эту таблицу будут вставлены три записи с данными о работниках. Для экспериментов с PHP и MySQL этого вполне достаточно.

Давайте выведем эти данные из базы данных в HTML-страницу. Для общения с 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 - строка, содержащая запрос

link_identifier - см. предыдущую функцию.

Функция возвращает ID результата или 0, если произошла ошибка.

int mysql_result(int result, int i, column);

Функция возвращает значение поля в столбце column и в строке i.

int mysql_close(int link_identifier);

Функция закрывает соединение с MySQL.

Параметры:

link_identifier - см. выше.

Функция возвращает значение true или false

Создайте файл с расширением .htm3 и наберите в нем следующий текст:

<html>

<body>

<?php

$db = mysql_connect("mysql12.leaderhost.ru", "root");

mysql_select_db("mydb",$db);

$result = mysql_query("SELECT * FROM employees",$db);

printf("First Name: %s<br>\n", mysql_result($result,0,"first"));

printf("Last Name: %s<br>\n", mysql_result($result,0,"last"));

printf("Address: %s<br>\n", mysql_result($result,0,"address"));

printf("Position: %s<br>\n", mysql_result($result,0,"position"));

mysql_close($db);

?>

</body>

</html>

Теперь рассмотрим построчно, что происходит в этой программе. Функция mysql_connect() открывает связь с сервером баз данных MySQL. В качестве параметров мы указываем ей имя узла (mysql12.leaderhost.ru), на котором находится база данных, имя пользователя (root), под которым мы будем с ней работать, и пароль (в данном случае он пустой и потому не указывается).

Имя узла localhost означает, что сервер MySQL находится на той же машине, что и сам Web-сервер с PHP-движком. В принципе ничто не мешает вам (имея права) обратиться к серверу MySQL, который находится на соседней машине или вообще на другом конце земного шара. Такие эксперименты авторы данной книги уже проводили и весьма успешно. О способах построения приложений с использованием нескольких машин мы поговорим немного позже.

В результате выполнения этой функции получаем некое значение, которое присваиваем переменной $db. Эта переменная называется идентификатором соединения (см. выше описание синтаксиса). Соединившись с сервером выбираем базу данных, с которой будем работать (ведь на одном и том же сервере могут "крутиться" несколько баз данных). Это делается с помощью функции mysql_select_db(). В качестве параметров мы передаем название нужной нам базы данных и идентификатор соединения, полученный нами при выполнении предыдущей команды.

В результате выполнения функции mysql_select_db() мы получаем значение true или false. Если соединение с базой данных произошло успешно - true, если нет - false. Для того, чтобы наша программа-страница работала более интеллектуально, мы можем при желании проанализировать возвращаемое значение и если оно будет false, вывести хорошее информативное сообщение об ошибке. Как это делается, мы рассмотрим в других, более сложных примерах.

И наконец мы обращаемся к базе данных с запросом, написанным на языке SQL. Для этого служит функция mysql_query(). В качестве первого параметра мы передаем текст запроса, а в качестве второго - "скармливаем" идентификатор, полученный от выполнения функции mysql_connect().

Результаты выполнения функции mysql_query() - записи, удовлетворяющие нашему запросу - помещаем в переменную $result.

И наконец, с помощью функции mysql_result() извлекаем из результатов выполнения нашего запроса (т.е. переменной $result), первый ряд-запись (который имеет порядковый номер 0), и значение определенного поля (по его имени). Перебирая друг за другом записи от 0 до 2, мы выберем все записи, что хранятся в нашей маленькой базе данных.

Привести иллюстрацию исполнения данного кода

В данном коде в полной мере используется функция printf(), с которой мы знакомились в предыдущей главе. Для тех, кто когда-либо работал с языком Perl или C, строки с функцией printf покажутся весьма знакомыми.

Если говорить коротко, то в каждой приведенной выше строке комбинация символов "%s" обозначает, что вместо нее должна быть поставлена переменная, идущая во второй части выражения printf. Причем эта переменная должна быть переведена в тип "строковая переменная". Более подробное описание синтаксиса функции printf() читайте в руководстве по языку.

Вот так легко можно работать с базой данных в PHP.

В следующей главе мы познакомимся с более интеллектуальными, чем mysql_result(), функциями выборки данных из БД mysql_fetch_row() и mysql_fetch_array(), В дальнейшем мы рекомендуем пользоваться именно ими, как более быстрыми и удобными, чем mysql_result().


Александр Качанов (kachanov@ogs.gomel.by)

Вадим Ткаченко (vvtk@stealthcomp.com) (http://web.stealthcomp.com)

Андрей Головин (mine@convex.ru) (http://exper.ural.ru)


   Почти всегда целью создания сайта является получение прибыли, которая в свою очередь, зависит от его внешнего вида. Статистика говорит, что около 94% людей, при выборе товара, сначала обращают внимание на упаковку, а потом уже на её содержимое. И если эта упаковка не привлекательная и безвкусная, мало кто обратит на нее внимание, и, соответственно, товар не будет пользоваться спросом.
   В случае с интернет, “упаковкой” выступает ваш сайт, а “товаром” - его контент. Если сайт выглядит непривлекательно, то каким бы ценным и нужным не было его содержимое, люди будут обходить его стороной. Наша задача - сделать ваш сайт привлекательным и удобным, чтобы люди чувствовали себя уютно и комфортно, чтоб они возвращались к вам еще и еще. Соответствие между ценой и качеством вас, несомненно, порадуют.
.
   Мы делаем сайты для бизнеса, а не красочную картинку, которая увешена тяжеловесными флэшами и огромными фотографиями.
   Пользователя, когда он попадает на абсолютно любой сайт, прежде всего интересует информация, затем, как реализовать на этом сайте полученную информацию, чтобы было удобно и просто (юзабилити), подбор цветовой гаммы, расположение блоков на странице и многое другое.

   Перед тем, как заказывать создание сайта, рекомендуем прочесть статью А зачем мне (нам) сайт? или Что нужно знать заказчику сайта
Да и вообще, обратите внимание на раздел Статьи о продвижении сайта и бизнеса там вы найдёте ответы на многие вопросы.