Вывод данных.
Вывод данных.
Наиболее часто востребованной задачей при работе с базами данных является
вывод результатов выборки или всего содержимого базы на экран. Рассмотрим
как это реализуется на примере сервера MySQL и языка PHP.
Прежде всего рассмотрим, как получить структуру таблицы. Для этого в
PHP существует функция: mysql_list_fields(string database_name,
string table_name, int [link_identifier]). Параметр
database_name - наименование базы данных, содержащей нашу таблицу.
table_name - наименование таблицы, данные о полях
которой мы пытаемся получить. int [link_identifier]
- необязательный параметр, указывающий активное соединение.
Результат работы данной функции может быть использован в качестве параметра
в следующих функциях:
mysql_field_flags()
mysql_field_len()
mysql_field_name()
and mysql_field_type()
Для того, чтобы узнать, сколько полей содержит данная таблица, необходимо
использовать функцию 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>";
Результатом работы этого скрипта будет, примерно, следующая таблица:
name |
email |
John |
john@world.org |
Kate |
cat@somewhere.com |
William |
bg@microsoft.com |
Andrew |
exper@inbox.ru |
В следующем опыте рассмотрим как организовать постраничный вывод результатов.
©
Андрей Головин //exper.ural.ru/
|