【发布时间】:2015-04-22 21:34:12
【问题描述】:
我的网站中有一个产品页面,该页面使用 MySQL 数据库,当点击缩略图时,产品项目会在页面上创建。
有什么方法可以在每次点击缩略图时增加 MySQL 计数器?
如果有办法做到这一点,有人可以为我指出正确的编码方向吗?
注意:此代码有效,但此更新所有产品命中计数。我只需要更新表中查看的产品项目行
我的mysql表是这样的
表名:图片
标识 |产品名称 |图片 |价格 |命中
这是我的 php 代码:
<?php
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server
$db = mysql_select_db("user"); // Selecting Database
$result=mysql_query("SELECT id,image,SUBSTRING_INDEX(product_name,' ',4) as product_name FROM images");
mysql_query("update images set hits = hits+1 where product_name = product_name");
$count = 0;
while($res=mysql_fetch_array($result))
{
if($count==3) //three images per row
{
print "</tr>";
$count = 0;
if($count==0)
print "<tr>";
print "<td>";
?>
<?php echo"<div>";?>
<?php echo"<img style='heigth:170px; width:200px'src='image1.php?id=$res[id]'>"?>
<?php echo "<a href=\"getImage.php?id={$res['id']}\">{$res['product_name']}<h3>Read More</h3></a>";?>
<?php echo"</div>";?>
<?php
$count++;
print "
</td>";
}
if($count>0)
print "</tr>";
?>
这里是getImage.php代码`
<!DOCTYPE HTML>
<HTML>
<HEAD>
<style>
img.floatLeft
{
float: left;
margin-right: 10px;
margin-bottom: 1px;
padding-left: 2%;
}
p.padding {
padding-left: 2%;
padding-right: 2%;
}
h3 { color:#3300FF; font-family: Slab,Georgia,serif;font-size: 20px;
letter-spacing: .03em;text-transform: none}
div{background-color: white; border-style: ridge; height: 500px; width: 400px; margin-left:auto;
margin-right:auto; color: #000000; font: 12px arial, sans-serif; line-height: 18px;text-align: justify;}
</style>
</HEAD>
<body>
<?php
if (isset($_GET['id'])) {
$id = $_GET['id'];
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server
$db = mysql_select_db("user", $connection); // Selecting Database
$query1 = mysql_query("select * from images where id=$id", $connection);
echo"<div >";
while ($row1 = mysql_fetch_array($query1)) {
echo"<h3 align='center' color='red'>";
echo $row1['product_name'];
echo"</h3>";
echo "<img class='floatLeft'src=image1.php?id=".$row1['id']." width=150 height=140 />";
echo'<p class="padding">';
echo $row1['price'];
echo"</p>";
echo"</div>";
echo"</div>";
?>
<?php
}
}
?>
</body>
</html>
【问题讨论】:
-
更新它,其中 ID 等于他们所在页面的特定 ID。此外,您不需要在每次输出后关闭 php,整个脚本可以在一个 PHP 块中。
-
感谢您的回答...但我不想只计算 1 个 ID...我的数据库中有很多产品项目,每个项目都有 ID。所以只希望查看的产品项目被计入数据库。
-
当用户点击产品图片时会发生什么?他们会被重定向到产品页面吗?
-
这个页面是
getImage.php吗?