0

データベースから CodeIgniter へのクエリを表示できません。

私のテーブルには「、、」がidありdescriptionますdate_stamp。のみを取得したいだけですdate_stamp

これが私のコードです:

モデル

public function get_holidays()
{
    $this->db->select('date_stamp');
    $this->db->from('holidays');
    $query = $this->db->get();

    if($query->num_rows() > 0)
    {
        foreach ($query->result() as $row)
        {
            $data[] = $query->row();
        }
    }
    else
    {
        $data = "";
    }
    return $data;
}

コントローラ:

    $holidays = $this->emp->get_holidays();
    //the result should be like this
    //$holidays=array("2013-09-20","2013-09-23", "2013-09-25");
    foreach($holidays as $holiday){
        // 
         echo $holiday['date_stamp'];
    }
4

3 に答える 3

1

私は通常、モデルの値をビューに出力しますが、コントローラーはページの移動先です。さて、モデルでは:

public function get_holidays()
{
    $this->db->select('date_stamp');
    $this->db->from('holidays');
    return $this->db->get();
}

そしてビューで:

$this->load->model('holiday_model');
$holidays = $this->holiday_model->get_holidays();

foreach( $holidays->result AS $items ) 
{
    echo $item->date_stamp;
}
于 2013-09-19T04:01:54.537 に答える
1

コード内のforeach ($query->result() as $row)ループ内

$data[] = $query->row();

する必要があります

$data[] = $row;

または、モデルから結果を返し、return $query->result()コントローラーでループを実行するだけです。同じことを繰り返しているからです。だから、あなたはあなたのmodel代わりに行うことができます

if($query->num_rows() > 0)
{
    return $query->result();
}
return false;

次に、あなたcontrollerがするかもしれません

$holidays = $this->emp->get_holidays();
if($holidays) {
    // do the loop or whatever you want
}

ただし、echo結果が であることを確認してviewください。そうすることを願っています。また、model.

于 2013-09-19T03:56:49.443 に答える
0

更新されたモデル

  public function get_holidays()
  {
    $data = array();
    $this->db->select('date_stamp');
    $this->db->from('holidays');
     $query = $this->db->get();

if($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {

        $data[]=$row->date_stamp; //changed here
       // array_push($data, $row->date_stamp); 

    }
}
else
{
    $data = array();
}
return $data;
}

更新されたコントローラー

    $this->load->model('holiday_model');

    $holidays = $this->emp->get_holidays();
    //the result should be like this
    //$holidays=array("2013-09-20","2013-09-23", "2013-09-25");


    if($holidays) { //checking $holiday 
      foreach($holidays as $holiday){
         echo $holiday; //changed here
     }
    } else {
        echo 'No Holiday Found; //changed here
    }

これで問題なく動作します

于 2013-09-19T03:55:36.103 に答える