Вывод содержимого журнала на экран


С помощью программы PHPMyAdmin вы можете не только создать таблицу и определить ее конфигурацию, вы также можете просмотреть отдельные записи данных, которые уже существуют в этой таблице. Для этого необходимо выбрать интересующую нас таблицу и после этого открыть вкладку Обзор.

Порядок, в котором показываются записи в данной таблице можно изменить щелкнув мышкой по названию соответствующего столбца, а пиктограмма с буквой Т позволяет нам изменить вид отображения данных - текст будет либо разбиваться на несколько строк, либо отображаться в одной строке (рис. 6.16).

Однако это не очень удобно: каждый раз запускать программу PHPMyAdmin только для того, чтобы лишь на минуту просмотреть содержание таблицы. Гораздо проще будет создать собственную программу для просмотра данных, тем более, что в предыдущей главе мы уже получили всю необходимую для создания такого скрипта информацию.

В данном случае нас интересуют не все значения, а только данные для сле-дующих полей: дата, когда посетитель обратился к нашему сайту, реферер и к какую именно страницу вызвал посетитель. Для того чтобы при вызове команды SELECT получить значения не всех, а только тех полей, которые нас интересуют, мы после ключевого слова SELECT указываем те поля, значения которых мы хотим получить, разделяя названия этих полей с помощью запятой. Кроме этого, мы хотели бы получить данные, которые отсортированы по дате обращения. Таким образом, команда SELECT будет выглядеть следующим образом:

SELECT date, referer, webpage FROM log ORDER BY date

Данный запрос, как обычно, отправляется на сервер с помощью функции mysql_query(), результаты мы получаем с помощью функции mysql_fetch_object () и выводим их на экран с помощью echo:

<?
$query = "SELECT date, referer, webpage FROM log ORDER BY date";
$sql = mysql_query ($query);
while ($dp = mysql_fetch_object ($sql)) {
$date = $dp->date;
$referer = $dp->referer;
$webpage = $dp->webpage;
echo "<p>$date $referer $webpage</p>";
}
?>

Если выводить полученные результаты необработанными, то их трудно понять, поэтому создадим небольшой вспомогательный код на HTML:

<html>
<head></head>
<body>
<table border="l">
<tr>
<tdxb>Дата< /b>< /1 d>
<tdxb>Peфepep</bx/td>
<tdxb>Аддрес страницы</bx/td>
</tr>
<?
include("http://localhost/inc/mysql.inc")?
$query = "SELECT date, referer, webpage FROM log ORDER BY date";
$sql = mysql_query($query);
while ($dp = mysql_fetch_object($sql)) {
$date = $dp->date?
$referer = $dp->referer;
$webpage = $dp->webpage; echo "<tr>";
echo "<td>$date</td>"; echo”<td>referer</td>";
echo"<td>$webpage</td>"; echo "</tr>";
}
mysql_close($dp);
?>
</table>
</body>
</html>

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

При этом не существует каких-то весомых причин для того, чтобы полностью отображать поле referer на экране. Более разумно будет сделать так, что если длина адреса для referer превышает 50 символов, то мы не будем выводить большее количество символов. Так же мы можем отказаться от того, чтобы показывать в начале строки префикс http://. Итак, мы отказываемся от одинаковых символов в начале адреса и ограничиваем длину строки только первыми 50 символами.

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

$referer = substr($dp->referrer, 7, 50);

Кроме этого, мы можем выводить значение поля referer не в виде надписи, а в виде ссылки, которую можно вызвать с помощью щелчка мыши. Благодаря этому мы можем непосредственно со страницы журнала перейти на тот сайт, откуда на нашу Web-страницу зашел этот посетитель. Все, что для этого необходимо сделать - с помощью аттрибута href передать реферер (на этот раз не в сокращенном, а в полном виде) в тэг <А>. Таким образом, мы создаем две переменные для полной и сокращенной версии реферера:

$url = $dp->referer;
$referer = substr ($url,7 ,50);

Вывод реферера на экран (рис. 6.18) производится с помощью следующей строки кода:

echo "<td><a href=\"$url\">$referer</a></td>";

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика