sgeta 发表于 2011-2-18 10:58:40

有關於循環查詢,該如何做?

本帖最后由 sgeta 于 2011-2-18 15:17 编辑

需求是列出一份個人資料的清單,在每一筆資料裡分別列出這個人的前3個訂單

類似下面這樣
name1,,phone,address
name2,,phone,address

查了一下,需要在model裡就先做好array的排列

實際到底該如何做呢?理不出頭緒來

若是以前只要2個循環就能完成,但使用ci後,反而不知如何下手…

能否請各位先進給點指示呢?

Hex 发表于 2011-2-18 13:52:09

实际上,确实和以前的一样,你把以前的代码复制过来一样可以用。

sgeta 发表于 2011-2-18 14:51:52

嘗試在model裡作了一下,但一直報錯,能看看哪裡弄錯了什麼嗎?

          $data = $this->db->query($q);
          $a1 = array();
          $a2 = array();
          foreach ($data->result_array() as $tmp){
               foreach ($tmp as $tmp2){
                  array_push($a2,$tmp2);
               }
               $tmp3=list_order($tmp['id']);
               array_push($a2,$tmp3);
               array_push($a1,$a2);
          }
          return $a1;

sgeta 发表于 2011-2-18 15:16:36

自己回一下,總算解決囉,順便列出修改後的原始碼

          $data = $this->db->query($q);
          $a1 = array();
          foreach ($data->result_array() as $tmp){
               $a2 = array();
               foreach ($tmp as $tmp2){
                  array_push($a2,$tmp2);
               }
               $tmp3=$this->model->list_order($tmp['id']);
               array_push($a2,$tmp3);
               array_push($a1,$a2);
          }
          return $a1;

Hex 发表于 2011-2-18 18:31:13

$tmp3=$this->model->list_order($tmp['id']);
这句话什么意思?

sgeta 发表于 2011-2-21 09:32:05

$tmp3=$this->model->list_order($tmp['id']);
这句话什么意思?
Hex 发表于 2011-2-18 18:31 http://codeigniter.org.cn/forums/images/common/back.gif

寫的不好讓老大見笑了:L

因為另外有個model用來處理order的array (在別處也有用,所以拆開寫)

內容如下:

   function list_order($id)
   {
          $order = $this->db->get_where('order',array('id'=>$id),'3','0');
          $a1 = array();
          foreach ($order->result_array() as $tmp){
               array_push($a1,$tmp);
          }
          return $a1;
   }
页: [1]
查看完整版本: 有關於循環查詢,該如何做?