我有頁面向用戶顯示50個圖像,用戶可以點擊圖像並將該圖像加載到另一頁面。現在我想將每個圖像視圖保存到數據庫,即點擊圖像ID的計數器。 所以到目前爲止,我在表中添加了另一行,我稱之爲hits
。在這裏,我展示圖片:如何在數據庫中保存頁面瀏覽量
$result = $pdo->prepare("SELECT * FROM images ORDER BY id ASC LIMIT $start_from, 50");
$result->execute();
for($i=0; $row = $result->fetch(); $i++)
{
echo '
<h1><a href="post.php?id='.$row['id'].'">'.$row['title'].'</a></h1>
<img src="../upload/'.$row['name'].'" alt=""/>';
}
在post.php
這裏用戶只能看到這一形象,他點擊了我有這樣的:
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
$result = $pdo->prepare("SELECT * FROM images WHERE id= ?");
if ($result->execute(array($_GET['id'])))
{
for($i=0; $row = $result->fetch(); $i++)
{
echo '
// source to show that image
';
}
}
}
我明白我必須像這樣
更新hits
行
UPDATE images SET hits = hits + 1 WHERE id = idofimage
我不明白的是如何在當前代碼中實現更新。還在哪裏?
任何幫助表示讚賞。
感謝您的回答並更正了我的代碼。其實我真的不需要'for'和'array'。但是這不會更新數據庫中的命中。 – Select
你有'=>'而不是'=',其中是UPDATE查詢。 ($ _get ['id']);'我已經出錯了,期待數組,但是給出了字符串,所以我再次執行它 - > execute(array($ _ GET ['id']) ))'。現在正在工作。 – Select
更正了語法:) – PerroVerd