Codeigniter Suche zwischen Daten und weitere Parameter

Ich versuche zu realisieren eine Suchmaschine auf meine Seite, ich will die Suche nach tickets über diese Parameter:

  1. Ticket# und/oder
  2. Umfang/Schlagwort (Jedes Wort oder Zeichen in die ticket-Beschreibung) und/oder
  3. Zwischen 2 Termine, Start Datum und End-Datum

Die Suche-Funktion in meinem Modell geht so:

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';}
    }

Mein controller Funktion:

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);

    }

Und die Ergebnisse Anzeigen Seite:

<?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
}
}
?>

Aber irgendwie ist die Suche nicht kommt, Es nicht funktioniert, wenn ich die ticket# Feld leer und ist nicht das filtern der tickets, die zwischen diesen 2 Termine auch. Irgendeine Idee? Dank

  • Es funktioniert nicht, wenn Sie verlassen das ticket# Feld leer, bcz es ist ein Zustand, der if (!empty($id) || !empty($scope)){
  • Ich benutze den Zustand, zu Testzwecken, selbst wenn ich es löschen, es funktioniert nicht
  • Haben Sie versucht, $this->db->last_query()?
  • Im mit $this->output->enable_profiler(TRUE); und zeigt, dass keine Anfragen gemacht wurden
InformationsquelleAutor NinjaCoder | 2013-05-28
Schreibe einen Kommentar