用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1289|回复: 3
收起左侧

[HELP] 请高手写个 表单 查询的 简单过程 ,谢谢,我没有头绪

[复制链接]
发表于 2014-10-21 09:45:31 | 显示全部楼层 |阅读模式
我起初是这样想的 POST 提交到 Action   <?=base_url()?> p/result   (已经设置 route了) 是 Person ,Method 是 result(){}
Controller function result(){
         $username = $this->input->post('Username');
         $data['result'] = $this->person_model->get_result($username);
         $this->load->views('result.php',$data);
}

Model:  接收参数
get_result($username){
           $this-db->like('PersonName',$username);
           $query = $this->db->get_where('person');
            return ...数组
}

View  
[ search.php ]
<form action='p/result'>
    <input name='Username">
   <input type="submit">

[ result.php ]
<foreach ...> (数组接收)

像我这样写 有问题吗? 如果是多条件查询呢( 比如 按姓名或手机号码 查询呢,我是新手,请多多指导,谢谢
发表于 2014-10-21 10:33:11 | 显示全部楼层
本帖最后由 Closer 于 2014-10-21 11:09 编辑

我是學沒幾個月的新手,方法有點老土,請見諒
下面的是我的方法——
V:多個 input 名稱指定為 sea0 / sea1 / sea2 / ...
  按下按鈕後指向 function sea

C:function sea
  建立一個相對應各個 sea 的欄位名稱陣列
  (sea0對上id , sea1對上name , ... )
  (這是從index複製過來的,在 function sea 這邊只是要計算次數)
  用 for 迴圈取得 sea.$x 的 POST 值
  計算陣列長度,決定要取幾個 POST 的 sea0... 欄位
  傳回 URL 回 function index ,用 GET 方式
  (傳回前的所有 POST 值要先經由 rawurlencode() 過濾)

  function index
  一樣建立相對應的欄位陣列及欄位數量值
  取得網址的 GET 搜尋值,由欄位數量決定執行幾次
  若沒有取到某欄位的 GET 值就給空值,這樣保證 GET 的總數不會減少
  將欄位名稱、欄位值、數量及其他排序參數傳入M
  
M:檢查各個欄位名稱的後兩碼是否有 >= <= 等等判斷符號
  用以決定搜尋值要用 $this->db->where(); 或 $this->db->like();
  兩個 foreach 迴圈取搜尋到的陣列值
  回傳給C一個變數,並導入V用 for 迴圈輸出各筆資料


 楼主| 发表于 2014-10-21 15:26:05 | 显示全部楼层
Closer 发表于 2014-10-21 10:33
我是學沒幾個月的新手,方法有點老土,請見諒
下面的是我的方法——
V:多個 input 名稱指定為 sea0 / sea ...

兄弟,我们可以用 MSN 或者QQ 交流下吗?这样 论坛我还是不大明白,谢谢
发表于 2014-10-21 15:57:23 | 显示全部楼层
本帖最后由 Closer 于 2014-10-23 09:52 编辑

{:soso_e170:}

本版积分规则