MySQL. Вывод из БД

Просмотров: 20414Комментарии: 0
ПрограммированиеPHPMySQL

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

Итак, приступим. Как и писал раньше берем параметры подключения из предыдущего урока, а вместо строчки print ("Соединение Установлено"); мы запишем наш запрос вывода из базы данных. Но сначала я все таки покажу пример, а уж потом опишу его.

<?php
    $link = mysql_connect("$bd_host", "$bd_user", "$bd_pass")
        or die("Could not connect: " . mysql_error());
mysql_select_db('test-bd', $link);
$result = mysql_query("SELECT * FROM `cars`", $link);
$row = mysql_fetch_array($result);
echo "< br > $row[id]";
echo "< br > $row[auto]";
echo "< br > $row[kuzov]";
echo "< br > $row[year]";
echo "< br > $row[probeg]";
    mysql_close($link);
?>

Результатом выполнения этого кода будет:

1
Ауди
Седан
2005
40000

Ну а теперь распишу что тут и что каждое это что делает (загнул не хило).

mysql_select_db - Выбирается база данных, из которой мы будем выбирать таблицы.

mysql_query - Запрос, которым мы выбираем данные из таблицы.

mysql_fetch_array - Обрабатывает ряд запроса и возвращает ассоциативный массив.

Ситуация теперь проясняется, но сразу возникает большой вопрос в результате запроса находится не одна строка запроса, а более, так почему же выводится только одна строка. Еще раз прочитайте что делает функция mysql_fetch_array. Хорошо теперь сделаем вывод что нужно повторить.

<?php
    $link = mysql_connect("$bd_host", "$bd_user", "$bd_pass")
        or die("Could not connect: " . mysql_error());
mysql_select_db('test-bd', $link);
$result = mysql_query("SELECT * FROM `cars`", $link);
$row = mysql_fetch_array($result);
echo "< br > $row[id]";
echo "< br > $row[auto]";
echo "< br > $row[kuzov]";
echo "< br > $row[year]";
echo "< br > $row[probeg]";
$row = mysql_fetch_array($result);
echo "< br > $row[id]";
echo "< br > $row[auto]";
echo "< br > $row[kuzov]";
echo "< br > $row[year]";
echo "< br > $row[probeg]";
    mysql_close($link);
?>

Теперь будет выведена информация по двум машинам. Хорошо, а как сделать так чтобы зараз выведены были все записи? Очень просто, и отправлю вас к повторению циклов. И тогда наш код преобразится:

<?php
    $link = mysql_connect("$bd_host", "$bd_user", "$bd_pass")
        or die("Could not connect: " . mysql_error());
mysql_select_db('test-bd', $link);
$result = mysql_query("SELECT * FROM `cars`", $link);
$row = mysql_fetch_array($result);
do {
echo "$row[id]-й автомобиль $row[auto] с кузовом $row[kuzov] выпуска $row[year]г. с пробегом $row[probeg]< br >";
}
while ($row = mysql_fetch_array($result));
    mysql_close($link);
?>

Получаем первый элемент выборки и входим в цикл do, который будет выполняться до тех пор, пока mysql_fetch_array будет возвращать ИСТИНУ. И вот следовательно результат того что выполнил наш код:

1-й автомобиль Ауди с кузовом Седан выпуска 2005г. с пробегом 40000
2-й автомобиль Ситроен с кузовом Купе выпуска 2006г. с пробегом 45000
3-й автомобиль Рено с кузовом Универсал выпуска 2005г. с пробегом 50000
4-й автомобиль Фиат с кузовом Универсал выпуска 2007г. с пробегом 30000

С уважением Ваш ИТ Инженер.



Профессиональная косметика gigi из Израиля. Лучшая косметика для тебя.

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

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

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

(обязательно)