使用逗号分隔值更新表中的值?

时间:2014-11-29 21:41:20

标签: php mysql

我有一些内容通过php://input发送给我,如下所示:

123,567,287,124,172,846,372,187

我想基于此更新表格,所以像这样

UPDATE char_
SET id=123
WHERE SortNumber=1

现在,我想我可以做这样的事情

$variable=123,567,287,124,172,846,372,187
$anothervariable=$variable = str_replace(",", "\r\n", $variable); 


$i=0;
$i++;

 mysqli_query(UPDATE char_ SET id=$anothervariable WHERE SortNumber=$i)

但是,我不确定代码是100正确的,变量将是整个内容,我不知道如何为每一行设置不同的变量?有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

我不知道PHP,但可以用一个示例伪代码给你一个粗略的想法。将所有这些数字存储在一个数组(可能是整数数组)中,然后遍历数组并调用UPDATE语句。希望有意义

int[] arr = {123,567,287,124,172,846,372,187};

for(int i = 0; i < arr.length; i++)
{
  UPDATE char_ SET id=arr[$i] WHERE SortNumber=$i
}

答案 1 :(得分:0)

我不知道我是否理解得很好..但我认为第一个词是no1,第二个词是no2,依此类推......也许这会给你带来一个解决方案。

$variable = "123,456,789";
$input_array = explode(',',$variable);

$c = 1;

foreach($input_array as $var) {

$query = 'UPDATE char_ SET value=$var WHERE SortNumber=$c';
$c++;

}