Hallo,
Ich habe eine Tabelle mit Feldern wie 'vorname', 'name', 'mail', etc.. Die Tabelle ist in Innodb.
Was ich machen möchte, es gibt ein <input> in welches z.B 'Hans Muster' geschrieben wird.
Nun soll mir php in der DB den Hans Muster ausgeben..
Ich habe es so gelöst:
So findet es aber nicht nur den Hans Muster, sondern auch alle die im Vorname oder Name, Muster oder Hans haben... Mit einer Volltext suche kann ich wegen der innodeb nicht...
Wie finde ich nur den Hans Muster
Ich habe eine Tabelle mit Feldern wie 'vorname', 'name', 'mail', etc.. Die Tabelle ist in Innodb.
Was ich machen möchte, es gibt ein <input> in welches z.B 'Hans Muster' geschrieben wird.
Nun soll mir php in der DB den Hans Muster ausgeben..
Ich habe es so gelöst:
PHP:
public function search(){
//Den POST wert exploden
$search = explode(' ', trim($this->input->post('str')));
//Nach jedem Array eintrag suchen
foreach($search as $key => $value){
$sql = "SELECT * FROM personen WHERE
vorname like '".$value."%'
OR
name like '".$value."%'
OR
plz like '".$value."%'
OR
ort like '".$value."%'";
$query = $this->db->query($sql);
if ($query->num_rows() > 0){
foreach ($query->result() as $row){
//Person in Array schreiben ... ...
$teilnehmer[$row->person_id] = array(
'pid' => $row->person_id,
'vorname' => $row->vorname,
'name' => $row->name,
'plz' => $row->plz,
'ort' => $row->ort
);
}
}
}
}
}
Wie finde ich nur den Hans Muster
Zuletzt bearbeitet: