Suche nach Teilwort

VitaliK

Grünschnabel
Hallo *,

ich habe Suche aus der Sql DB, die funtioniert nach ganzen Wörtern.
Wie realisiere ich jetzt die Suche nach Teilwörtern, z.B. ich gebe Peter ein und möchte dass auch Hans Peter oder Peter Hans als Vorname ausgegeben werden.

hier ist mein PHP-Code:
PHP:
$where='where index_nr!=""';//notwendig weil alle anderen Bedingungen mit and anfangen
//echo $where;
if($insertData[1]!=""){$where .= ' and vorname ="'.$insertData[1].'"';}//vorname
if($insertData[2]!=""){$where .= ' and geburtsjahr ="'.$insertData[2].'"';}//geburtsjahr

$select = "select index_nr, vorname, geburtsjahr from user $where";

Ich be schon mit %.$insertData[1].% versucht, aber irgedwie funktioniert das nicht.

Hat jemand eine Idee.

Danke m Voraus
Gruß VitaliK
 
Zuletzt bearbeitet:
ich habe Inputfelder. Ich weiß ja nicht welche Vornamen eingegeben werden.
Peter oder Hans war ja nur ein Beispiel. Also kann ich in diesem Fall nicht LIKE %Hans% nehmen.
 
Wenn du nur einen Meter weiter gedacht und das Wort Beispiel als solches aufgenommen hättest, dann wärest du darauf gekommen, dass du anstatt Hans dort deine Variable reinpacken sollst.
 
VitaliK, dann bitte mit Variable aus dem Inputfeld arbeiten
PHP:
$like="and vorname LIKE %".$inputname."%";

mfg chmee
 
PHP:
$sql1 = $this->db->sql_query("SELECT irgendwas FROM " . $this->db->prefix . "_tabelle WHERE bedingung = (SUBSTR('" . pwcAddSlashes($bedingung) . "',1,$this->laenger_suchstring))");
 
PHP:
$like="and vorname LIKE %".$inputname."%";

mfg chmee

wie setze ich $like in die Zeile rein?
PHP:
if($insertData[1]!=""){$where .= ' and vorname ="'.$insertData[1].'"';}//vorname
Irgendwie kriege ich nicht hin. Bekomme nur Fehelermeldungen..

Gruß
VitaliK
 
Nimm es mir nicht übel, aber ich bin gerade verwirrt, warum du das nicht schaffst, denn es müsste nur so aussehen:
PHP:
if($insertData[1] != "") $where .= ' AND `vorname` LIKE "%'.$insertData[1].'%"';
 
Danke!
Jetzt funktioniert es auch wie ich mir vorgestellt habe.
Ich dachte erst, dass ich 2 Schritte brauche,
einmal Zeile:
PHP:
$like="and vorname LIKE %".$inputname."%";
und dann
PHP:
 $like
in die Zeile
PHP:
 {$where .= ' and vorname ="'.$insertData[1].'"';}
irgendwie einsetzten.
Dann hatte die % Zeichen erstmal an die falsche Stelle gesetzt,
und in der Zeile
PHP:
 if($insertData[1] != "") $where .= ' AND `vorname` LIKE "%'.$insertData[1].'%"';
soll vorname ohne ' Hochkomma' sein.

Besten Dank noch mal!

Gruß
VitaliK
 
Zurück