好的,所以下面的代码回应了数据库中的两个URL,但我希望能够将两者分开并更新单击图像的行。示例:输出两个图像,用户单击左侧的图像,MySQL根据他们单击的图像知道要更新哪一行。根据他们点击的图像,它将更新MySQL中图像的投票。理想情况下,我希望"投票"从数据库中相应地显示112和156。
让我重新澄清一下:我的代码回应了从数据库中选择的两个图像。代码应该告诉你,如果你读它。从那里,我希望能够分离这两个图像,以便我可以进行查询以使用该图像更新特定行,并更新图像从votes
到votes
+ 1的总票数。我尝试过这样做,但它会将行的选票更新为1。
我该怎么做?
<?php
include_once('db.php');
$selectURLSQL = "SELECT * FROM `urls` ORDER BY RAND() LIMIT 3";
$selectURLQuery = mysql_query($selectURLSQL);
$URL_Row = mysql_fetch_array($selectURLQuery);
?>
<?php
while($URL_Row = mysql_fetch_array($selectURLQuery)) {
?>
<img class="img" name="img" src="<?php echo $URL_Row['url']; ?>" style="height:400px;width: 260px;">
<?php
}
?>
<br /><br />
<span style="font-size:18px;font-family:trebuchet ms;">156 Vote-Ups</span>
<small>Vs.</small>
<span style="font-size: 18px; font-family: trebuchet ms;">112 Vote-Ups</span><br /><br />
答案 0 :(得分:0)
假设您的表格urls
的结构如下:
id | url | rank
您必须为与网址对应的图片上的每次点击增加rank
列。
我的想法是在图片周围创建一个链接,此链接将包含图片的id
,以便可以在此网址中传递?id=xxx
如果您想在循环外显示投票,可以暂时将其保存在array
您的密码:
<?php
include_once('db.php');
$selectURLSQL = "select * from urls ORDER BY RAND() LIMIT 2";
$selectURLQuery = mysql_query($selectURLSQL);
if (isset($_GET['id'])){
$id = $_GET['id'];
$sql = "UPDATE urls set rank = rank+1 WHERE id = $id";
mysql_query($sql);
}
$i = 0;
$votes = array();
while ($URL_Row = mysql_fetch_array($selectURLQuery)):
$votes[$i++] = $URL_Row['rank'];
?>
<a href="?id=<?php echo $URL_Row['id']; ?>">
<img class="img" name="img" src="<?php echo $URL_Row['url']; ?>" style="height:400px;width: 260px;">
</a>
<?php endwhile; ?>
<br /><br />
<span style="font-size:18px;font-family:trebuchet ms;"><?php echo $votes[0]; ?> Vote-Ups</span>
<small>Vs.</small>
<span style="font-size: 18px; font-family: trebuchet ms;"><?php echo $votes[1]; ?> Vote-Ups</span><br /><br />