-3

好的,所以我下面的代码从数据库中回显了两个 URL,但我希望能够将两者分开并更新单击图像的行。示例:输出两张图片,用户点击左边的图片,MySQL 根据他们点击的图片知道要更新哪一行。根据他们单击的图像,它将更新图像在 MySQL 中的投票。理想情况下,我希望从数据库中相应地显示“投票”来代替 112 和 156。

让我换个说法澄清一下:我的代码回显了从数据库中选择的两个图像。如果您阅读它,代码应该会告诉您。从那里,我希望能够分离这两个图像,以便我可以进行查询以使用该图像更新特定行并将该图像的总票数从votes+1votes更新。我尝试这样做,但它会将两行的投票更新为 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;">&nbsp;&nbsp;&nbsp;&nbsp;

<?php 
    } 
?>
<br /><br />
<span style="font-size:18px;font-family:trebuchet ms;">156 Vote-Ups</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<small>Vs.</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span style="font-size: 18px; font-family: trebuchet ms;">112 Vote-Ups</span><br /><br />
4

1 回答 1

0

假设您的表格urls结构如下:

id  |  url  |  rank

您必须rank为每次点击与 url 对应的图像增加列。

我的想法是在图像周围创建一个链接,这个链接将包含id图像的,所以它可以像这样在 URL 中传递?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 />
于 2013-07-17T01:00:34.813 回答