Самоучитель по креативному веб-дизайну. Книга 4, стр.17

mysqi_fetch_array(), которая считывает строку результатов SQL-запроса (из бу- фера СУБД) и помещает значения столбцов строки в массив элементов. Затем, сценарий может выполнить оператор echo или вызывать функцию print о для вывода значений полей таблицы базы данных (из массива) на Web-страницу.



ПРАКТИК Ш

Предположим, например, что используется СУБД MySQL и в HTML-таблице на

Web-странице необходимо вывести данные из SQL-таблицы с именем products,

содержащейся в базе данных HWDTT. Прежде всего, выполним вызов функции

mysqi connect () следующего вида:



$link = mysql connect ($db_host, $db_user, $db_pass) ;



$db host содержит строку «locaihost» (если сервер MySQL выполняется в

той же системе, что и Web-сервер) или строку с IP-адресом компьютера, где вы — полняется сервер MySQL, с которым необходимо установить соединение. (Для получения IP-адреса сервера MySQL свяжитесь с Internet-провайдером.) Осталь —

ные два параметра, $db_user и $db_pass, представляют собой имя пользова —

теля и пароль, необходимые функции mysqi_connect() для установки соеди — нения с СУБД MySQL. (При работе с СУБД MySQL с параметрами, установленными по умолчанию, войти в базу данных можно с именем пользо —

вателя $db_user=»root» И паролем $db_j>ass=»",)

В функции mysqi_connect () PHP-процессор присваивает соединению с

СУБД идентификатор переменной $iink или возвращает значение false, если

53 2 Глава 10. РНР4





попытка установить соединение не удалась. Поскольку время от времени случа —

ются ошибки, с помощью оператора if проверьте значение переменной $iink, и

в случае необходимости выведите на экран сообщение об ошибке. Если попытка

установки соединения завершается успешно, для выбора базы данных с таблица — ми, данные которых будут считываться в запросе, можно воспользоваться вызо — вом функции, приведенным в следующем примере:

if (!mysql select_db ($db_name, $link)

{

//Операторы, обрабатывающие случай неудавшейся попытки использования

//базы данных

}

else

{

//Обработка после успешной установки соединения и выбора базы данных

}

Сервер MySQL, как правило, поддерживает несколько баз данных, поэтому вы должны выбрать базу данных, содержащую таблицы, данными которых вы хотите

пользоваться. В приведенном примере $db name содержит строку «HWDTT», a

$iin k — идентификатор соединения с базой данных, сгенерированный успеш —

но выполненной функцией mysqi_connect(). Как и ранее, необходимо про —

верить данные, возвращаемые PHP-функцией (в данном примере функцией

mysqi seiect_db()), чтобы убедиться, что выбор базы данных был выполнен ус —

пешно. Функция mysqi_seiect_db() возвращает tru e при успешном выборе базы данных и fals e — в противном случае.

После успешной установки соединения с СУБД MySQL и выбора базы дан — ных для выполнения запроса (или любого другого оператора SQL) вызовите фун —

кцию mysqi query (), как показано в следующем примере:

$resul t = mysql query ($query, $link) ;



В приведенном примере, в котором считывается содержимое таблицы

products, параметр $query СОДерЖИТ SQL-ОПераТОр SELECT * FROM product s

ORDER BY description. Как и ранее, параметр $iink содержит идентификатор

соединения с базой данных, возвращенный успешно выполненной функцией

mysqi_connect (), вызов которой находится в начале сценария. Функция

mysqi_query () возвращает fals e (если СУБД по какой-то причине не смогла выполнить переданный ей SQL-оператор) или указатель на место, куда СУБД поместила результаты выполнения запроса.

Для считывания результатов запроса (т. е. строк данных, которые запрос

выбрал из таблицы products) несколько раз вызовите функцию

mysqi fetch_array о для считывания всех строк результатов запроса и сохране — ния их в массиве. Затем выведите данные из массива на Web-страницу. Напри- мер, следующий сценарий извлекает количество полей (возвращенных в резуль — татах запроса), их имена и типы, и выводит значения столбцов, содержащихся в результатах запроса, в виде HTML-таблицы, которую сценарий создает на Web — странице:

Глава10.РНР4 533



// Определить количество полей, возвращенных в результатах запроса

$fields = mysql_num fields ($result) ;

// Начать определение HTML-таблицы

echo «»;

// Вывести на экран названия столбцов в виде заголовков HTML-таблицы

echo «
«;

for ($i = 0; $i

{

echo «» . mysql fieldjiame($result, $i) . «»;

$fieldType[$i] = mysql_field type($result, $i) ;

}

echo «

«;

// Вывести в HTML-таблице результаты запроса

while

{

echo «
«;

for ($i = 0; $i

{

if ($fieldType[$i] <> «string»)

echo « «;

els e

echo « » ;

echo «$array[$i]

«;

}

echo «

«;

}

echo «» ;



Полный код PHP-сценария, описанного в этом совете, находится на странице

chptiOTipO9.php, которую можно выгрузить из сайта издательства русскоязыч —

ной редакции ЭТОЙ КНИГИ (http://www. diasoft. kiev. ua). Изменяя ИНформа — цию о соединении и SQL-запрос, вы имеете возможность использовать этот сце —

нарий для считывания и вывода на экран в виде HTML-таблицы результатов

любого запроса. Сценарий выводит на экран названия столбцов, возвращенных запросом, в виде заголовков столбцов таблицы, а сами результаты запроса поме —

щаются в строки таблицы.



Использование РНР для генерации случайного пароля

При создании Web-сайта с доступом только для зарегистрированных членов сайта необходимо гарантировать, что члены сайта используют пароли, которые

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

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 18.08.2012">Apple назвала условия урегулирования министерства юстиции несправедливыми
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.42
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 051
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.82
  • 06.10.2010">Установка локального сервера на компьютер
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.37
  • 23.10.2012">Выпускные альбомы от Принт-а-тет
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 078
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 132
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.110
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.59
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 034
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 110
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.23
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.83
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...