Как показать список записей из таблицы базы данных (PHP)..?

Как показать список  записей из таблицы базы данных (PHP)..?

Так как мало кто пользуется плоскими файлами чтобы хранить информацию на сервере, очень часто нужно получить информацию из базы данных MySQL. О том, как это делать, и написана данная статья.

Инструкция

Уровень сложности: Несложно

Что вам понадобится:

  • Текстовой или PHP редактор.
  • Сервер MySQL c базой данных и непустой таблицей.
  • Ваша страница.
  • Хотя бы базовое знание HTML и PHP.

1 шаг

Откройте Вашу страницу в Вашем любимом редакторе. Разумеется, необходимо, чтобы она имела расширение *.php и соответствовала правилам этого языка.

2 шаг

Найдите место, где хотели бы отобразить список записей из таблицы базы данных. Это место должно быть в теге <BODY> вашего документа.

3 шаг

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

$db = mysql_connect(‘localhost’, ‘username’, ‘password’); // Эта переменная будет содержать связь. mysql_select_db(‘my_database_name’, $db); // Выбираем имя используемой базы данных для указанного подключения.

4 шаг

Далее вам нужно создать запрос MySQL. Допустим, что в вашей базе данных есть таблица “people” с полями “name”, “surname”, “id” и “dob” (имя, фамилия, идентификационный номер и год рождения) и вы хотите показать все записи, где год рождения меньше девяностого (т.е. всех, кому сейчас 18 и больше). Вот так будет выглядеть ваш запрос.

$select_qry = “SELECT * FROM people WHERE dob < 1990”; // Не ставьте, как обычно, точку с запятой в конце запроса, только в конце выражения.

5 шаг

Далее, нам нужно сделать сам запрос, для чего существует функция mysql_query(), и сохранить полученные данные в переменной.

$select_result = mysql_query($selectt_qry, $db); // Второй аргумент – ссылка на соединение с БД.

6 шаг

Теперь у нас есть ресурс с записями, возвращённый сервером. В нём много рядов, и нам нужно показать каждый из них. Функция mysql_num_rows() возвращает количество записей ресурса; функция mysql_fetch_array() возвращает ассоциативный массив следующей записи, где ключ – это название поля таблицы. Итак, мы будем использовать цикл for для этой цели.

$select_amt = mysql_num_rows($select_result); // Теперь знаем количество записей.

echo ’
<TABLE border="1">’;

echo ’
<TR>
<TH>Name</TH>
<TH>Surname</TH>
<TH>ID</TH>
<TH>Year of Birth</TH>

</TR>’;

for($i=0; $i<$select_amt; $i++)
{
$row = mysql_fetch_array($select_result);
echo ’
<TR>
<TD>‘.$row[’name’].‘</TD>
<TD>’.$row[‘surname’].‘</TD>
<TD>’.$row[‘id’].‘</TD>
<TD>’.$row[‘id’].’</TD>

</TR>’;

}

echo ’

</TABLE>’;

7 шаг

Сохрание изменения и откройте вашу страницу в браузере, набрав её адрес на сервере.
Если вы правильно следовали инструкции, то должны увидеть таблицу с заголовком (имена полей), в которой отображены все записи, где год рождения меньше 1990;

Советы и предупреждения:

  • MySQL - это отдельный от PHP язык запросов, по этому чтобы в полной мере пользоваться его возможностями, необходимо изучить его. Здесь я показал только маленькую часть того, что можно достичь, используя данный язык.

Обсуждение

717_micro
Рейтинг
  1. +
  2. 0
Vir (14:56 29.10.2008)

А я бы использовал в данном случае mysql_fetch_assoc вместо mysql_fetch_array.
Какая разница?
Для данного примера mysql_fetch_array вернет массив с ключами “name”, “surname”, “id” и “dob” (как и mysql_fetch_assoc), и плюс ненужные нам ключи “0”, “1”, “2” и “3”, которые будут соответствовать этим же значениям. Кто не понимает разницу – пусть читает спецификацию этих функций…

678_micro
Рейтинг
  1. +
  2. 0
XedinUnknown (00:11 30.10.2008)

Да, можно и mysql_fetch_assoc(). Но я предпочитаю mysql_fetch_array(), потому что после этого в любой момент можно использовать удобный способ доступа. Например, можно использовать цикл для отображения любого количества полей.
Но если мы имеем только и именно данный случай, то функция mysql_fetch_assoc() действительно немного эффективней, т.к. меньше загружает сервер и канал.

Ваш комментарий

Запросить инструкцию

Не нашли нужную пошаговую инструкцию?
Возможно, что кто-то из посетителей сайта сможет помочь. Оставьте запрос прямо сейчас, если Вы уверены, что эта тема ещё не освещена на нашем проекте!

Рейтинг
  1. +
  2. 1
2
2867