使用for循环在SQL查询中添加文本

时间:2011-08-15 19:09:38

标签: php sql for-loop sql-update

通过阅读主题,我认为这听起来很奇怪。是,有点。我想要的是通过使用for循环在SQL查询中添加文本。我目前的代码目前看起来像这样:

$sql = mysql_query("UPDATE hon_setups SET hidTop = '"
    for ($i = 0; $i < count($selectedSetupTop); $i++) {
        echo 'OR imageId = 1 ';
    }
"'") or die(mysql_error());

正如您所看到的,我想添加(在此示例中)文本“OR imageId = 1”,直到 $ i $ selectedSetupTop 相同的值。 $ selectedSetupTop 变量从上一页发送。上面的示例是一个脚本页面。告诉我你是否需要更好的解释。提前谢谢!

1 个答案:

答案 0 :(得分:4)

确定。所以你的'echo'是一个固定的字符串。你将结束构建一个看起来像

的查询
UPDATE hoN_setups SET hidTop = ' OR imageID = 1 OR imageID = 1 OR imageID = 1'

我假设你想使用存储在$ selectedSetupTop数组中的一些ID,你会这样做:

$values = implode(',', $selectedSetupTop);
$sql = "UPDATE hon_setups SET hidTop = somevalue WHERE imageID IN ($values);";
mysql_query($sql) or die(mysql_error());