[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает количество просмотров
datvid
Здравствуйте!!! Всех с праздником!
У меня почему то не работает количество просмотров?Есть таблица в базе данных 'content' где находяться все фильмы, и таблица 'content_views' где два поля 'id' порядковый номер фильма
и поле views. Для просмотра фильма имеется отдельная страница fulltext.php.
Вот код отвечаюший за вывод отдельного фильма:


<?php
$query = '
INSERT INTO content_views (`id`, `views`) VALUES ('
.(int)$id.', 1)
ON DUPLICATE KEY UPDATE `views` = `views` + 1'
;

$table = "<table border=0 width=560px >\n";

while ($row = mysql_fetch_assoc($result))
{
$table .= "<tr>\n";

$table .= "<tr>".$row['title']."</tr>\n";
$table .= "<tr>".$row['fulltext']."</tr>\n";
$table .= "<tr>".$row['views']."</tr>\n";




$table .= "</tr>\n";
}

$table .= "</table>\n";

echo $table;


?>



Подскажите пожалуйста где ошибка?



Спустя 6 минут, 59 секунд (10.05.2011 - 10:20) Lenarfate написал(а):
SELECT

Спустя 21 секунда (10.05.2011 - 10:21) waldicom написал(а):
Цитата (datvid @ 10.05.2011 - 08:13)
$query = '
INSERT INTO content_views (`id`, `views`) VALUES ('.(int)$id.', 1)
ON DUPLICATE KEY UPDATE `views` = `views` + 1';

$table = "<table border=0 width=560px >\n";

while ($row = mysql_fetch_assoc($result))
{


А где выполняется сам запрос? Т.е. что-то типа
mysql_query($query);

Спустя 9 минут, 12 секунд (10.05.2011 - 10:30) datvid написал(а):
Запрос у меня в отдельном файле с которым связанный full_text.php

Вот код запроса:

  $sql = "SELECT * FROM `content` order by `id`desc LIMIT 0, 1";
$sql= "SELECT * FROM `content` WHERE `id`=" .(int)$_GET['id'];

$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

Спустя 39 минут, 39 секунд (10.05.2011 - 11:10) datvid написал(а):
waldicom,что скажешь на счет моего кода?

Спустя 20 минут (10.05.2011 - 11:30) Lenarfate написал(а):
Цитата
$sql= "SELECT * FROM `content` WHERE `id`=" .(int)$_GET['id'];

      $result = mysql_query($sql)

получается, ты берешь данные только из второго запроса

Спустя 14 минут, 53 секунды (10.05.2011 - 11:44) datvid написал(а):
А как правильно?

Спустя 55 минут, 51 секунда (10.05.2011 - 12:40) Gradus написал(а):
$query = '
INSERT INTO content_views (`id`, `views`) VALUES ('
.(int)$id.', 1)
ON DUPLICATE KEY UPDATE `views` = `views` + 1'
;

mysql_query($query) or die(mysql_error() ."<br/>". $query);

$table = "<table border=0 width=560px >\n";

Цитата
А как правильно?

 
//$sql = "SELECT * FROM `content` order by `id`desc LIMIT 0, 1";
$id=isset($_GET['id'])?(int)$_GET['id']:0;
if($id<1) echo 'Не правильный запрос фильма';
else {
$sql= "SELECT * FROM `content` WHERE `id`=" .$id;
...

}

Спустя 3 часа, 39 минут, 11 секунд (10.05.2011 - 16:20) datvid написал(а):
Gradus ! Что за многоточие ?Что означает?

Спустя 4 минуты, 10 секунд (10.05.2011 - 16:24) Gradus написал(а):
это я условно (типо продолжение), вставь туда код который шёл ниже

Спустя 22 минуты, 44 секунды (10.05.2011 - 16:46) datvid написал(а):
Я понял так и попробывал,и в таблице content_views сама собой добавилась новая строка
id=0 views .В этой новой строке пошел отчет т.е при каждом открытии любогл фильма отчет идет +1 .Привожу ниже полностью код:


<?php
$query = '
INSERT INTO content_views (`id`, `views`) VALUES ('
.(int)$id.', 1)
ON DUPLICATE KEY UPDATE `views` = `views` + 1'
;

mysql_query($query) or die(mysql_error() ."<br/>". $query);

$table = "<table border=0 width=560px >\n";

while ($row = mysql_fetch_assoc($result))
{
$table .= "<tr>\n";

$table .= "<tr>".$row['title']."</tr>\n";
$table .= "<tr>".$row['fulltext']."</tr>\n";
$table .= "<tr>".$row['views']."</tr>\n";




$table .= "</tr>\n";
}

$table .= "</table>\n";

echo $table;
?>



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.