我有一个清单
每行都有一个公共输入字段“ sort_order”,该字段存储在MySQL数据库中。

 <input name="sort_order" type="text" value="<?php echo $cat['sort_order']; ?>" size="3" />


我希望能够内联更改排序顺序,而无需进入编辑表单。

如何将所有值放入数据库。我想我需要遍历每一行,将sort_order [row_id]和值添加到数组中。但是我仍然坚持如何实现这一目标。

所有值均根据firePHP发布。 sort_order [50] 1,sort_order [51] 2等

尝试解释的新尝试:

我有一个包含2个输入字段的列表视图。

<input name="cat_id" type="hidden" value="<?php echo $cat['cat_id']; ?>" />

<input name="sort_order" type="text" value="<?php echo $cat['sort_order']; ?>" size="3" />


我有一个在控制器中的开机自检功能:

public function sortOrderUpdate(){


//collect the values of cat_id and sort_order from each input into a array
//$this->request->post['sort_order']
//$this->request->post['cat_id']

//send to the model

$this->model_cat->updateCatSortOrder($sortorderarray);


}


以及数据库模型文件功能:

public function updateCatSortOrder($sortorderarray){


foreach((int)$sortorderarray as $sort){
$this->db->query("UPDATE cat SET sort_order='" . (int)$sort['sort_order'] . "'  WHERE cat_id = '" . (int)$sort['cat_id'] .  "'");
    }
}


实现此目标的最佳方法是什么?

最佳答案

只需使用empty square brackets

<input type="text" name="sort_order[]" value"<?php echo $sort_order; ?>" />


然后,您可以将输入作为数组访问,从而避免自己构建它。它将存储为$_POST['sort_order'](或$_GET,具体取决于<form>标记中指定的方法属性)。

在相关说明中,您可能应在回显$sort_order时将其转义:

<input type="text" name="sort_order[]" value"<?php echo htmlspecialchars($sort_order); ?>" />

10-08 02:26