• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eine Art Suche...

Status
Für weitere Antworten geschlossen.

Spacefish

Neues Mitglied
Hallo, ich möchte gerne eine Suchfunktion bauen, bei der eine bestimmte Spalte einer Tabelle nach einem Begriff durchsucht wird:

Beispiel:
ID NAME ...AGE
1 Peter |.....15
2 John W. | 29
3 Peter K. | 18

Jetzt möchte ich gerne das wenn beispielsweiße der User Peter gesucht wird, nicht nur Peter sondern auch Peter K ausgegeben wird.
PHP:
$result = mysql_query("SELECT * FROM users WHERE name LIKE 'peter'");
Mit LIKE würde mir MySQL nur den wert der einen Spalte und zwar Peter aber nicht Peter K ausgeben. Nun zu meiner Frage: Gibt es einen anderen Befehl in MySQL oder eine andere Möglichkeit nicht den exakten wert der Spalte sondern einzelne Wörter herauszufinden?

Wäre super wenn mir jemand weiterhelfen könnte! ;heart
Gruß Spacefish :-D
 
Nabend,

das geht mit
Code:
LIKE '%Peter%'
Das matcht dann 'blablaPeterblabla'
Es geht auch nur
Code:
LIKE 'Peter%'
Das matcht 'Peterblabla', aber nicht 'blablaPeterblabla'
Hoffe ich konnte dir helfen.

Gruß

Voodoo
 
Ich würde das Problem nicht in der Abfrage sondern eher in der Normalisierung sehen. Denn man sollte in einer Datenbank zwischen Name und Vorname unterscheiden. So verhindert man von anfang an solche Probleme.

Wenn du also einen Peter K. und einen Peter L. hast kannst du einfach:

SELECT * from 'tabelle' WHERE vorname = "Peter" und bekommst alle die raus, die den Vornamen Peter tragen... ob mit Nachnamen L oder K ist dann egal.

Vlt mal so als Ansatz...

mfg. R3van
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben