私はこれが単純なphpであることを知っていますが、codeigniterでロジックを書き出すのに大きな問題があります。
最近の12人のユーザーをプルして、その情報をビューに表示しようとしています。サインアップのアクティビティを追跡するために、データベーステーブルに「created_on」フィールドを作成しました。
コントローラーでIDを指定すると、モデルからコントローラーに渡した結果をプルしてからビューをプルできますが、そのようにプルするのは1人のユーザーだけです。
モデル:
public function newest_members()
{
$session = $this->session->userdata('is_logged_in');
$user_id = $this->session->userdata('id');
$query = $this->db->query("SELECT * FROM users WHERE status = 'active' && id = $user_id ORDER BY created_on DESC LIMIT 12");
if($query->num_rows()==1)
{
$data = $query->result_array();
return $data;
}else{
return array();
}
}
コントローラ:
public function dashboard()
{
$this->load->library('session');
$this->load->helper('date');
$session_id = $this->session->userdata('id');
$this->load->model('account_model');
$this->load->model('community_model');
$user = $this->account_model->user();
$data['user'] = $user;
$newest_members = $this->community_model->newest_members();
$data['newest_members'] = $newest_members;
$data['main_content'] = 'account/dashboard';
$this->load->view('includes/templates/main_page_template', $data);
}
見る:
<?php
foreach($newest_members as $nm)
{
echo $nm['first_name']; echo "<br />"; echo $nm['last_name'];
}
?>
これは、NEWESTメンバーとサインインしているメンバーの結果をプルしています。ただし、サインインしているかどうかにかかわらず、すべてをプルしたいので、モデルで次のようなことを試みました。
public function newest_members()
{
$query = $this->db->query("SELECT * FROM users WHERE status = 'active' ORDER BY created_on DESC LIMIT 12");
// OR YOU CAN USE THE BELOW
// $query = $this->db->query("SELECT * FROM users ORDER BY `created_on` DESC LIMIT 12");
// YOU ALSO MIGHT WHAT TO ADD WHERE `status` = 'active' (or whatever applies for your db table)
// EITHER SPIT OUT RESULTS OR EMPTY ARRAY
if($query->num_rows()==1)
{
$data = $query->result_array();
return $data;
}else{
return array();
}
前もって感謝します。