我有一个清单
每行都有一个公共输入字段“ 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'] . "'");
}
}
实现此目标的最佳方法是什么?
最佳答案
<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); ?>" />