Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
<?php
include ('conf.php');
$getid = (int)$_GET['id'];
$selectc = mysql_query("SELECT id,views FROM files where id='$getid'") or die(mysql_error());
if(mysql_num_rows($selectc) == 0) {
header("Location: index.php");
} else {
$r = mysql_fetch_assoc($selectc);
$update = mysql_query("Update files set views= '$r[views]'+1 where id = '$getid'") or die(mysql_error()) ; }
Ако полето ти е празно , направи една заявка в phpmyadminbotevis2 каза:Нищо не показва
В phpmyadmin полето в `files` ми е views varchar 255 от това да е проблема ?
UPDATE news SET views =0
set views= '$r[views]'+1
set views = views +1
/* connect to MySQL */
mysql_query("INSERT INTO page_views (page_name)
VALUES('".$_SERVER['PHP_SELF']."')
ON DUPLICATE KEY UPDATE view_count=view_count+1")
or die('Error');
koko5 каза:Ako полето ти е празно, няма как да се обнови...
Всяка страница си е уникална (със своето име), нали така?т.е. UNIQUE KEY
[sql]
CREATE TABLE page_views(id INT AUTO_INCREMENT PRIMARY KEY,
page_name VARCHAR(255) NOT NULL DEFAULT '',
view_count INT NOT NULL DEFAULT 1,
UNIQUE KEY(page_name));
[/sql]
При отваряне, всяка страница include-ва кода
:?:PHP:/* connect to MySQL */ mysql_query("INSERT INTO page_views (page_name) VALUES('".$_SERVER['PHP_SELF']."') ON DUPLICATE KEY UPDATE view_count=view_count+1") or die('Error');
Edit: view_count INT NOT NULL DEFAULT 1, а не 0 -> по разбираеми причини...
Глупост e да очакваме връщане на нещо при update (освен affected rows)-> връща от селект... В началото имаме празна таблица-какво ще обновяваме? Поне опитай 1 insert в посочената таблица и ще разбереш защо default e 1, защо така е най-удачно, особено за сайтове, където всеки ден се генерират нови и нови страници. Все пак не ми се спори с теб-нито си ме питал нещо, нито пък съм отговорил на твой въпрос, а и нямам проблеми с кодове, както и време да си губя с подобни неща...Revelation каза:Глупости, как да не може да се обнови. Понеже е varchar, когато е празно просто връща празен стринг. В случая му е нужно да е int(), все пак само числа ще минават оттам. И не, по подразбиране не трябва да е 1, защото все пак почваме да броим от 0. Като влезе някой за пръв път, твоя начин ще покаже, че е прегледана вече 2 пъти страницата.
$newsId = $_GET['id'];
//заявка да си вземеш новината
$update = mysql_query("UPDATE news SET views = views + 1 WHERE `id` = '{$newsId}'");
<?php
$newsId = $_GET['id'];
$update = mysql_query("UPDATE files SET views = views + 1 WHERE `id` = '{$newsId}'");
while($v = mysql_fetch_array($update))
{
$views = $v['views'];
echo $views;
}
?>
botevis2 каза:Помогни малко![]()
botevis2 каза:В phpmyadmin промених полето views на int,11, и 0 по подразбиране
И ето това сложих в view.php(файла с който преглеждам новините)
Код:<?php $newsId = $_GET['id']; $update = mysql_query("UPDATE files SET views = views + 1 WHERE `id` = '{$newsId}'"); while($v = mysql_fetch_array($update)) { $views = $v['views']; echo $views; } ?>
Грешка:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\forecast\view.php on line 74
Това трябва да е в заявката...
$id = $_GET['id'];
$update = mysql_query("UPDATE files SET views = views + 1 WHERE `id` = '$id'");
///tuka moje i 2ra zaqvka ve4e za pokazvaneto i prochie
....