У меня почему то не работает количество просмотров?Есть таблица в базе данных '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 .Привожу ниже полностью код:
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;
?>