Php 将数组的顺序插入数据库

Php 将数组的顺序插入数据库,php,javascript,arrays,zend-framework,Php,Javascript,Arrays,Zend Framework,我使用javascript和php创建了一个表单。我使用了一个文本框,比如 <input type="textbox" name="listid" value="" /> 但它不起作用。仅更新第一个值(listid=4) 我需要做什么?有人请帮忙吗 谢谢 试试这个 <?php $count=0; foreach($_POST['listid'] as $id) { $count++; $db->update('l

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

 <input type="textbox" name="listid" value="" />  
但它不起作用。仅更新第一个值(listid=4)

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

谢谢

试试这个

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

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

        }

?>

删除$count=0;跳出for循环

您可以尝试

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

我希望这可以工作

您不会从$\u POST['listid]收到数组,您将得到一个字符串。首先将该字符串拆分为一个数组,然后实现逻辑

$arrListId = split(',', $_POST['listid]);

奇怪,你能添加
echo$id.-'.$count在for循环中,查看它是否运行了多次,计数是否在增加。我添加了$db->update('lists',array('order'=>$id),'id='。$db->quote($id));(changed order=>$count into order=>$id)然后数据库将像4,6,12,9一样插入。没有一个价值。
$arrListId = split(',', $_POST['listid]);