簡體   English   中英

將mysql_query結果傳遞給foreach

[英]Pass mysql_query results to foreach

我使用以下代碼來獲取用戶Facebook朋友列表,並在應用程序數據庫中對照用戶對其進行檢查。 此代碼將返回該應用程序的用戶,即該用戶的Facebook朋友。

     $friends_set = '(';
             foreach($friends["data"] as $value) {
                 $friends_set .= $value['id'].','; 
             }
             $new_set = preg_replace('/,$/',')',$friends_set);
               $res = mysql_query("SELECT * from user AS u, upload AS up WHERE u.fb_id IN $new_set AND u.fb_id=up.user_id") or die(mysql_error());

    while($row = mysql_fetch_array($res)) {

        echo $row['fb_id']. "". $row['first_name'];
        echo "<br>"; 

      }

$data['top_friends']=$res;
$this->load->view('myview');

此代碼有效。 它在我的codeigniter應用程序的控制器中,並且成功地將正確的數據回顯到頁面上。

但是,現在我需要為視圖中的每個語句在a中打印查詢結果,如下所示:

<?php foreach ($top_friends as $me) : ?>

                    <div >

                    <p><?php echo $me['first_name']; ?></p>

                     <?php endforeach; ?>

但是,當我嘗試使用分別在視圖中獲取查詢結果時,它不起作用。

我該如何解決?

您可以嘗試使用codeignitor的方法,創建一個模型函數,例如get_top_friends ,我假設您將逗號分隔的字符串作為參數傳遞,例如$ fb_id = '45,65,78,89'。 說出facebook_model是模型的名稱,然后:

class Facebook_model extends CI_Model{
     //other functions and constrcutor here

    //function to get the top friends
     function get_top_friends($fb_id){
       $fbId = explode(",",$fb_id)
       $this->db->select('*');
       $this->db->where_in('fb_id',$fbId);
       $this->db->order_by('points','desc');
       $this->db->limit(10);
       $query = $this->db->get('user');
       if ($query->num_rows() < 1) return FALSE;
       return $query->result_array();
     }
}

並如下更改代碼:

 $friends_set = '';
     foreach($friends["data"] as $value) {
         $friends_set .= $value['id'].','; 
     }
     $new_set = preg_replace('/,$/',')',$friends_set);
     $res = $this->facebook_model->get_top_friends($new_set);
     $data['top_friends']=$res;
     $this->load->view('myview',$data);

現在,您可以嘗試

foreach ($top_friends as $me){
  echo $me['first_name'];
}

[為用戶更新]

如果您要按照自己的問題進行操作:那么請嘗試,

$result = array();
while($row = mysql_fetch_array($res)) {
        $result[] = $row;  
}
$data['top_friends']=$result;
$this->load->view('myview',$data);//pass data to view

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM