Вывод данных отзывов из БД



И напоследок давайте выведем данные которые мы занесли при отправке.

Создадим для этого новый файл, я его обзову view.php

Снова нам нужно подсоединиться к базе, как делали в прошлом уроке. Заострять внимание не стану:

include("config.inc.php");
$link_1 = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );
mysql_select_db($DB, $link_1) or die ('Не могу выбрать БД');

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

$query='SET NAMES utf8';
$res = mysql_query($query);

Подключение есть. Достаем из базы нужные данные. Я вытащу следующие: Имя, отзыв и дата, адрес почты вытаскивать не стану.

$otzivi = mysql_query ("SELECT name, otziv, date
FROM otzivi
ORDER BY id DESC");
$myrow_otzivi = mysql_fetch_array ($otzivi);

Этим запросом, мы выбираем нужные нам поля из таблицы отзывов. А ORDER BY id DESC сортирует наши отзывы по id (т.е. самое большое id это последний отзыв) таким образом что последний отзыв будет выведен первым.

Выводить отзывы будем при помощи цикла, вот так:

do{
...
}while($myrow_otzivi = mysql_fetch_array ($otzivi));

Наш цикл будет выполняться до тех пор, пока не будут выведены все данные из базы.

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

do{
echo "<table border=1 width=300>";
echo "<tr><td><b>".$myrow_otzivi['name']."</b> ".$myrow_otzivi['date']."<td></tr>";
echo "<tr><td>".$myrow_otzivi['otziv']."<td></tr>";
echo "</table>";
}while($myrow_otzivi = mysql_fetch_array ($otzivi));

Для вывода нужных данных используется конструкция: $myrow_otzivi['date'].

Отлично! Ну и напоследок, сделаем проверку, есть ли в БД что выводить, если нету то выводим сообщение о том что еще нету отзывов.

if($myrow_otzivi['name']){
/*код цикла*/
}else{
echo 'В базе еще нету ни одного отзыва.';}

Вот получившийся код:

<?php
include("config.inc.php");
$link_1 = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );
mysql_select_db($DB, $link_1) or die ('Не могу выбрать БД');
$query='SET NAMES utf8';
$res = mysql_query($query);

$otzivi = mysql_query ("SELECT name, otziv, date
FROM otzivi
ORDER BY id DESC");
$myrow_otzivi = mysql_fetch_array ($otzivi);

if($myrow_otzivi['name']){
do{
echo "<table border=1 width=300>";
echo "<tr><td><b>".$myrow_otzivi['name']."</b> ".$myrow_otzivi['date']."<td></tr>";
echo "<tr><td>".$myrow_otzivi['otziv']."<td></tr>";
echo "</table>";
}while($myrow_otzivi = mysql_fetch_array ($otzivi));
}else{
echo 'В базе еще нету ни одного отзыва.';}
?>

Тут я показал Вам, как сделать отзывы и вывод их в разных файлах, но объединить их в один, надеюсь не составит труда.


К списку всех уроков PHP