1

我使用 javascript 和 php 创建了一个表单。我使用了一个文本框,例如

 <input type="textbox" name="listid" value="" />  

我将从 $_POST['listid']; 得到一个像 4,6,12,9 等的数组;我可以使用序列化将此值插入数据库并通过反序列化检索它。但是我需要做的是,为listid = 4插入1,为listid = 6插入2,为listid = 12插入3,为listid = 9插入4。我用过

$count=0;

 foreach($_POST['listid]' as $id)
        {

            $count++;
    $db->update('lists',array('order'=>$count),'id ='.$db->quote($id));

        }

但它不起作用。只更新第一个值(listid=4)

我需要做什么?有人请帮忙吗??

谢谢!

4

3 回答 3

0

试试这个。

<?php
$count=0;
 foreach($_POST['listid'] as $id)
        {

            $count++;
    $db->update('lists',array('order'=>$count),'id ='.$db->quote($id));

        }

?>

删除 $count=0; 在 for 循环之外

于 2012-06-04T06:08:41.727 回答
0

你可以试试

$count=0;
foreach($_POST['listid]' as $id)
{   
    $count++;
    $data   =   array('order'=>$count);
    $db->update('lists',$data,$this->_db->quoteInto('id = ?',$id));
}

我希望这可能有用

于 2012-06-04T06:47:22.287 回答
0

你不会收到来自 $_POST['listid] 的数组,你会得到一个字符串。首先将该字符串拆分为一个数组,然后实现逻辑。

$arrListId = split(',', $_POST['listid]);
于 2012-06-04T06:58:45.700 回答