Problem mit Suchfunktion,...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anschlu
ausgabe
beitrag
eingabe
ergebnis
hang
kleinschreibung
korrekte syntax
platzhalter
result
sache
schleifen
schnipsel
speicher
spieler
spielername
stehen
suchergebnis
unerklrlichen grnden
vorkommen
-
Moin,
ich wollte eine Suche basteln, mit dem Suchparameter "LIKE", doch aus irgendwelchen mir unerklärlichen Gründen funktioniert die Sache nicht.
Der Code sieht wie folgt aus:
<?php $query = "SELECT * FROM accounts WHERE name LIKE '$spieler'"; $result = mysql_query($query); while($r = mysql_fetch_object($result)) { $name = $r->name; if(isset($name)) { echo "<u>Ergebnis:</u><br><br>"; echo "<a href=\"index.php?site=spieler_edit&spieler=$name\">$name</a>"; } else { echo "Spieler nicht gefunden!"; } } ?>
Also das ist jetzt nur der Code-Schnipsel, der alles was so ähnlich ist wie $spieler ( Das ist die Eingabe in das Suchfeld ) finden, und auflisten soll.
In der DB stehen 3 Spielernamen:
Azadoras
Azador
Aza'doras
Gebe ich nun bei der Suche "Aza" ein, dann erhalte ich aber als Ausgabe weder "Spieler nicht gefunden" und auch nicht die 3 Spielernamen, sondern einfach eine leere Seite.
Kann mir wer sagen was ich da falsch gemacht habe ?
Danke schoneinmal für eure Antworten!
Greetz,
Aza -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du solltest einfach hinter LIKE '$spieler' noch einen Platzhalter hängen, der nach weiteren Zeichen sucht. Andernfalls wird nur nach 'Aza' gesucht, was ja aber in der Datenbank nicht vorhanden ist. Die korrekte Syntax lautet LIKE '%$spieler%', das sucht nach allen Vorkommen von 'Aza', egal ob davor oder danach noch weitere Zeichen stehen. Ich glaube es wird nicht zwischen Groß- und Kleinschreibung unterschieden, aber da bin ich mir nicht mehr sicher, da müsstest du testen.
Nachtrag
Abgesehen davon solltest du nicht in der while-Schleife echo 'Ergebnis' schreiben, da so bei jedem Treffer diese Überschrift erscheinen würde. Speicher deine Suchergebnisse am besten in einem Array zwischen und gib dieses erst im Anschluss an die while-Schleife aus.
Wenn das Array leer sein sollte, kannst du sagen 'Spieler nicht gefunden', anderenfalls machst du eine schön formatierte Ausgabe.
Beitrag geändert: 26.7.2007 14:28:29 von tct -
Danke dir, klappt jetzt wunderbar!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage