首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用增量值更新表

问使用增量值更新表
EN

Stack Overflow用户
提问于 2014-01-01 23:10:41
回答 1查看 392关注 0票数 0

我正在尝试使用while循环更新表中的值,但我希望这个值类似于使用auto_inc键。

我的表格:ID / CAR_ID / IMG_KEY / IMAGE

我想取12行相同的CAR_ID,并给出从1到12的IMG_KEY值。

我尝试了下面的循环,但结果是IMG_KEY的值是1

代码语言:javascript
复制
$getImages = mysql_query("SELECT * FROM more_images WHERE car_id = '$car_id'") or die(mysql_error());  

$img_key = 0;
    for ($img_key = 1; $img_key <= mysql_num_rows($getImages); $img_key ++) {
        while ($selectedImages = mysql_fetch_assoc($getImages)) {
            $update = mysql_query("UPDATE `more_images` SET `img_key` = '$img_key' WHERE `car_id` = '$car_id'") or die(mysql_error());
        }
    }

目标是将从1到12的img_key值和所有其他值按原样分配给以下12行。

​

​

EN

回答 1

Stack Overflow用户

发布于 2014-01-01 23:32:09

好吧,我仍然不能100%确定你想要什么,但我猜你正在寻找这样的东西:

代码语言:javascript
复制
$imgKey = 0;
while ($selectedImages = mysql_fetch_assoc($getImages))
{
   $imgKey++;
   $update = mysql_query("UPDATE `more_images` SET `img_key` = '{$imgKey}' WHERE `car_id` = '{$car_id}'") or die(mysql_error());
}

在您的问题中,您的for循环除了循环之外没有做任何事情,在您的例子中它迭代了12次。

因为mysql_fetch_assoc($getImages)是一个遍历一组结果中所有行的函数。因此,对于for循环的每次迭代,它都会更新所有记录,使其具有相同的$img_key。

此外,确实要避免使用mysql_*函数,它们已被弃用。请阅读此帖子:Why shouldn't I use mysql_* functions in PHP?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20869991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档