Reputation: 73
I want to select record with certain date and id. My datetime format in database is 2018-02-23 08:38:45. I've try this in my model but it always return the records with specific id only. My date format in $tgl
is 23-01-2018 so I change the format using $date = date('Y-m-d', strtotime($tgl) );
public function spesific_odontogram($id_pasien, $date){
$query = "SELECT * FROM odontogram WHERE DATE('inserted_at') = $date AND id_pasien=$id_pasien";
$record = $this->db->query($query);
if ($record->row_array()>0) {
return $record->result_array();
}
return false;
//return $record;
}
Here's my controller
public function spesific_odontogram(){
$id_pasien=$_POST['id_pasien'];
$tgl=$_POST['tgl'];
$date = date('Y-m-d', strtotime($tgl) );
$data['record']=$this->m_pasien->spesific_odontogram($id_pasien, $date);
if ($this->input->is_ajax_request())
{
echo json_encode($data);
exit;
}
}
Upvotes: 1
Views: 2545
Reputation: 2352
Use Date variable like '$date' instead of $date. Also make sure date format are same
public function spesific_odontogram($id_pasien, $date){
$query = $this->db->query("SELECT * FROM odontogram WHERE inserted_at = '$date' AND id_pasien=$id_pasien");
if ($query->row_array()>0) {
return $query->result_array();
}
return false;
}
Upvotes: 1
Reputation: 4719
Try using below query on your model :
public function spesific_odontogram($id_pasien, $date){
$query = "SELECT * FROM odontogram WHERE inserted_at >= $date AND inserted_at < $date + INTERVAL 1 DAY AND id_pasien=$id_pasien";
$record = $this->db->query($query);
if ($record->row_array()>0) {
return $record->result_array();
}
return false;
//return $record;
}
It basically check for only matches date record without calculate DATE()
value of every row
Upvotes: 0