Скрипт кол-ва просмотров

Среда, 18 августа 2010 г.
Рубрика: PHP программирование -> Готовые решения
Просмотров: 744
Подписаться на комментарии по RSS

Посмотреть демо

В этом уроке мы будем создавать кол-во просмотров, скажем, статей.

Нам понадобится База Данных в ней таблица articles(статьи) и обязательно в таблице поле view.

Теперь создадим страницу с выводом всех статей:

<?php
/*
* Подключаемся к базе mybase
*/
$db=mysql_connect("localhost", "root", "");
mysql_select_db("mybase", $db);
/*
* Достаём из таблицы articles все статьи
*/
$result=mysql_query("SELECT * FROM articles", $db);
$myrow=mysql_fetch_array($result);
/*
* Выводим в цикле все статьи
*/
do{
echo $myrow["title"]."<br />".$myrow["description"]."<br /><br />";
}while($myrow=mysql_fetch_array($result));

Теперь выведем кол-во переходов по ссылке - просмотров:

<?php
/*
* Подключаемся к базе mybase
*/
$db=mysql_connect("localhost", "root", "");
mysql_select_db("mybase", $db);
/*
* Достаём из таблицы articles все статьи
*/
$result=mysql_query("SELECT * FROM articles", $db);
$myrow=mysql_fetch_array($result);
/*
* Выводим в цикле все статьи
*/
do{
echo $myrow["title"]."<br />".$myrow["description"]."<br />Кол-во просмотров: ".$myrow["view"]."<br /><br />";
}while($myrow=mysql_fetch_array($result));

Так как могут произойти некоторые сбои, то присвоим кол-во просмотров переменной, сбой в том, что если просмотров 0, то ни чего не выведется:

<?php
/*
* Подключаемся к базе mybase
*/
$db=mysql_connect("localhost", "root", "");
mysql_select_db("mybase", $db);
/*
* Достаём из таблицы articles все статьи
*/
$result=mysql_query("SELECT * FROM articles", $db);
$myrow=mysql_fetch_array($result);
/*
* Присваиваем кол-во просмотров переменной
*/
if($myrow["view"]==''){
$view=0;
}else{
$view=$myrow["view"];
}
/*
* Выводим в цикле все статьи
*/
do{
echo $myrow["title"]."<br />".$myrow["description"]."<br />Кол-во просмотров: $view<br /><br />";
}while($myrow=mysql_fetch_array($result));

Теперь название статьи сделаем ссылкой на страницу с выводом этой статьи, и на которой будем прибавлять кол-во просмотров:

<?php
/*
* Подключаемся к базе mybase
*/
$db=mysql_connect("localhost", "root", "");
mysql_select_db("mybase", $db);
/*
* Достаём из таблицы articles все статьи
*/
$result=mysql_query("SELECT * FROM articles", $db);
$myrow=mysql_fetch_array($result);
/*
* Присваиваем кол-во просмотров переменной
*/
if($myrow["view"]==''){
$view=0;
}else{
$view=$myrow["view"];
}
/*
* Выводим в цикле все статьи
*/
do{
echo "<a href=view_articles.php?id=".$myrow["id"].">".$myrow["title"]."</a><br />".$myrow["description"]."<br />Кол-во просмотров: $view<br /><br />";
}while($myrow=mysql_fetch_array($result));

Теперь создадим страницу с выводом статьи и обновлением - view_articles.php:

<?php
/*
* Подключаемся к базе mybase
*/
$db=mysql_connect("localhost", "root", "");
mysql_select_db("mybase", $db);
/*
* Достаём из таблицы articles все статьи
*/
if(isset($_GET["id"])and($_GET["id"]!=='')){
$id=$_GET["id"];
}else{
die("Вы не выбрали статью");
}
$result=mysql_query("SELECT * FROM articles WHERE id='$id'", $db);
$myrow=mysql_fetch_array($result);
/*
* Заносим в переменную новые данные о кол-ве просмотров и обновляем в базе
*/
$new_view=$myrow["view"]+1;
$update=mysql_query("UPDATE articles SET view='$new_view' WHERE id='$id'", $db);
/*
* Выводим саму статью
*/
echo $myrow["title"]."<br /><br />".$myrow["description"];

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

Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Комментариев: 1
  1. 2011-07-26 в 16:11:04 | Алёнка

    Не пойму как добавлять в таблици статьи... :red:

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

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

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

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