PHP从While循环中分离内容?

时间:2013-07-16 21:37:53

标签: php while-loop

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

让我重新澄清一下:我的代码回应了从数据库中选择的两个图像。代码应该告诉你,如果你读它。从那里,我希望能够分离这两个图像,以便我可以进行查询以使用该图像更新特定行,并更新图像从votesvotes + 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;">&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 />

1 个答案:

答案 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 />