首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改列表的内联排序顺序

更改列表的内联排序顺序
EN

Stack Overflow用户
提问于 2011-06-06 06:08:52
回答 3查看 487关注 0票数 0

我有一个列表,每一行都有一个公共的输入字段"sort_order“,它存储在MySQL数据库中。

代码语言:javascript
运行
复制
 <input name="sort_order" type="text" value="<?php echo $cat['sort_order']; ?>" size="3" />

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

如何将所有的值都放入数据库。我认为我需要遍历每一行,将sort_orderrow_id和value添加到一个数组中。但我被困在如何实现这一点上。

所有的值都是根据firePHP发布的。sort_order50 1、sort_order51 2等

新的解释尝试:

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

代码语言:javascript
运行
复制
<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" />

我有一个在控制器中post时调用的函数:

代码语言:javascript
运行
复制
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);


}

和数据库模型文件函数:

代码语言:javascript
运行
复制
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'] .  "'");
    }
}

实现这一目标的最好方法是什么?

EN

Stack Overflow用户

回答已采纳

发布于 2011-06-07 03:57:30

好的,这看起来是可行的:

代码语言:javascript
运行
复制
<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" />

控制器:

代码语言:javascript
运行
复制
    public function updateCatSortOrder(){

            $sortvals = $this->request->post['sort_order']; //$this->request->post  same as $_POST 
    $row = $this->request->post['cat_id'];
    $n = count($this->request->post['cat_id']);
    $sortorder = array();
    for($i=0; $i<$n; $i++){

        $sortorder[] = array(
        'cat_id' => $row[$i],
        'sort_order' => $sortvals[$i]
        );
    }


    $this->model_cat->updateCatSortOrder($sortorder);
            }

型号:

代码语言:javascript
运行
复制
 //UPDATE CAT SORT ORDER    
 public function updateCatSortOrder($sortorder){
    foreach($sortorder as $sort){
    $this->db->query("UPDATE cat SET sort_order='" .   $this->db->escape($sort['sort_order']) . "' WHERE cat_id = '" . $this->db->escape($sort['cat_id']).  "'");
   }

 }
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6246219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档