ページに検索エンジンを実装しようとしています。これらのパラメーターを使用してチケットを検索したいと考えています。
- チケット番号および/または
- スコープ/キーワード (チケットの説明内の任意の単語または文字) および/または
- 開始日と終了日の 2 つの日付の間
私のモデルの検索機能は次のようになります。
function search($id,$scope,$start_date,$end_date)
{
if (!empty($id) || !empty($scope)){
$this->db->like('TROUBLE_ID', $id);
$this->db->or_like('PROBLEM_DESCRIPTION', $scope);
$this->db->where('ASSIGNED_DATE >=', $start_date);
$this->db->where('ASSIGNED_DATE <=', $end_date);
$query = $this->db->get($this->db);
return $query->result_array();
}
else {echo 'No results to display';}
}
私のコントローラー機能:
function search_keyword()
{
//Search Engine
$id = $this->input->post('ID');
$scope = $this->input->post('SCOPE');
$start_date = $this->input->post('STARTING_DATE');
$end_date = $this->input->post('ENDING_DATE');
$data['results'] = $this->rfi_model->search($id,$scope,$start_date,$end_date);
$this->load->view('ticketSearchParameters',$data);
}
結果の表示ページ:
<?php
foreach($results as $row){
$id = $row['TROUBLE_ID'];
?>
<tr>
<td><?php echo $row['TROUBLE_ID']?></td>
<td><?php echo $row['ASSIGNED_DATE']?></td>
<td><?php echo $row['CREATOR']?></td>
<td><?php echo $row['PROBLEM_DESCRIPTION']?></td>
<td><?php echo $row['RESOLUTION']?></td>
<td><?php echo $row['RESOLVED_DATE']?></td>
</tr>
<?php
}
}
?>
しかし、どういうわけか検索が正しく行われません。チケット番号フィールドを空のままにして、これらの 2 つの日付の間のチケットをフィルタリングしていないと機能しません。何か案が?ありがとう