|
|
Вывод данных.Наиболее часто востребованной задачей при работе с базами данных является вывод результатов выборки или всего содержимого базы на экран. Рассмотрим как это реализуется на примере сервера MySQL и языка PHP. Прежде всего рассмотрим, как получить структуру таблицы. Для этого в PHP существует функция: mysql_list_fields(string database_name, string table_name, int [link_identifier]). Параметр database_name - наименование базы данных, содержащей нашу таблицу. table_name - наименование таблицы, данные о полях которой мы пытаемся получить. int [link_identifier] - необязательный параметр, указывающий активное соединение. Результат работы данной функции может быть использован в качестве параметра
в следующих функциях: Для того, чтобы узнать, сколько полей содержит данная таблица, необходимо использовать функцию mysql_num_fields(int result). Единственный обязательный параметр result, содержит результаты работы функции mysql_list_fields(). Для получения имен полей используем функцию mysql_fiels_name(int result, int field_index). result - результат работы функции mysql_list_fields(), а field_index - порядковый индекс поля. Например, mysql_field_name($res,1) - имя первого поля в таблице Соединим все это вместе, предварительно установив соединение с базой данных, как я уже описывал: mysql_connect("yourhost","user","password"); mysql_select_db("database"); $res = mysql_list_fields("database","table"); echo "<TABLE BORDER=1>"; echo "<TR>"; for ($i = 0; $i < mysql_num_fields($res); $i++) { echo "<TH>"; echo mysql_field_name($res,$i); echo "</TH>"; } Таким образом мы получили "шапку" таблицы для вывода результатов. Необходимо заметить, что я подразумеваю, что мы не знаем ни количества, ни наименований полей таблицы. В большинстве случаев разработчику известна эта информация. Но нам важно разобраться в основных принципах, а конкретные случаи вы сможете реализовать сами. Теперь перейдем к выводу содержания таблицы. Сначала необходимо выполнить запрос к базе данных. Запрос должен выглядеть так: SELECT * FROM tablename. Как посылать запросы к базам данных подробно описано в опыте "Создание системы Совет Дня". Код будет выглядеть следующим образом: $sql = "SELECT * FROM users"; $res = mysql_query($sql); while ($row = mysql_fetch_row($res)) { echo "<TR>"; for ($i = 0; $i < $fields; $i++) { echo "<TD>".$row[$i]."</TD>"; } echo "</TR>"; } echo "</TR></TABLE>"; Результатом работы этого скрипта будет, примерно, следующая таблица:
В следующем опыте рассмотрим как организовать постраничный вывод результатов. |
||||||||||