2016-03-25 4 views
1

ich dieses Tutorial folgenden bin eine Live-Suche-Funktion zum Erstellen von: http://www.technicalkeeda.com/codeigniter-tutorials/live-search-using-jquery-ajax-php-codeigniter-and-mysqlCodeigniter: Abfrage zurückgibt alle Zeilen in der Tabelle auf select/wie Anweisung

und meine Abfrage im Modell alle Zeilen in der Tabelle zurückkehrt. Dies ist meine Frage:

$query = $this->db->select('Key, FirstName, LastName, CompanyName') 
         ->like('FirstName', $search, 'both') 
         ->or_like('LastName', $search, 'both') 
         ->or_like('CompanyName', $search, 'both') 
         ->where('Deleted', 0) 
         ->from('AMOwners') 
         ->get(); 
return $query->result_array(); 

Ich mag wäre ein ganz/teilweise von einem Namen oder Firmennamen geben und habe es gegen drei Spalten überprüft, ob es eine Übereinstimmung gibt. Wenn jedoch die jquery-Funktion ausgelöst wird, um mit der Abfrage der Datenbank zu beginnen, werden immer alle Zeilen abgerufen. Was mache ich falsch?

+0

Ihre Frage jquery Anruffunktion erkunden. controller.etc – NomanJaved

Antwort

1

benötigen Sie eine verschachtelte Abfrage zu schreiben, die AND und OR Aussagen enthält:

$query = $this->db->select('Key, FirstName, LastName, CompanyName') 
        ->where('Deleted', 0) 
        ->where("(FirstName LIKE '%$search%' OR LastName LIKE '%$search%' OR CompanyName LIKE '%$search%')") 
        ->from('AMOwners') 
        ->get(); 
return $query->result_array(); 
+0

Ich habe noch mehr Tests gemacht, indem ich einen direkten Weg zu diesem Controller/Methode gemacht habe und ihn direkt auf die Seite gedruckt habe und die Abfrage zieht jetzt die richtigen Informationen. Wie kann ich die JSON-Antwort prüfen? –

+0

Jason, ich würde vorschlagen, eine neue Frage zu schreiben - es ist verwandt, aber nicht Teil der ursprünglichen Frage. Auch die Tags wären anders. – Vickel

Verwandte Themen