Vollstndige Version anzeigen : such script; suche nach plz
patrickn
15-08-2003, 22:42
Hallo,
ich biete jetzt meinen usern eine suche nach plz an. die user sind mit den ersten beiden zahlen der plz in der datenbank eingetragen. die suche funktioniert soweit, aber nur wenn der user 2 zahlen in der suche angibt. ich wollte es aber so haben das man auch noch nach der ersten zahl der plz suchen kann.
wie mache ich das?
mfg,
Patrick
Hi patrickn
Willkommen auf Selfphp
in MySql gibt es eine Funktion die heit like
like sucht mittels Patter
wie ist es aufgebaut
fieldname like '%as%'
wobei das % ein Platzhalter ist fr kein bzw. beliebig viele Zeichen steht
also zB
bei dem SQL fieldname like '%as%'
findet er
as
aaas
assasa
aaassasa
Du kannst natrlich auch nur an einer Position den Platzhalter verwenden.
In deinem Fall wre es:
plz like '$PLZ%'
wenn in $PLZ jetzt nur eine einstellige Zahl steht findet er alle die damit anfangen
usw...
patrickn
15-08-2003, 23:01
Hallo,
danke fr die schnelle antwort!!!
habs ausprobiert aber irgendwie kommen jetzt keine ergebnisse mehr.
$ergebnis_w = mysql_query ("SELECT * FROM ".$tabelle_m." WHERE komplett = 'TRUE' AND geschlecht = '".$geschlecht."' LIKE postleitzahl = '".$plz."%' ORDER BY model_id DESC LIMIT ".$start.",".$limit);
mfg,
Patrick
Hi @gain
du hast die Syntax ned richtig gelesen ;-)
-> fieldname like '%as%'
richtig ist:
SELECT * FROM ".$tabelle_m." WHERE komplett = 'TRUE' AND geschlecht = '".$geschlecht."' postleitzahl LIKE '".$plz."%' ORDER BY model_id DESC LIMIT ".$start.",".$limit
patrickn
15-08-2003, 23:13
hallo,
ok danke jetzt klappts.
mfg,
Patrick
patrickn
16-08-2003, 01:54
hmm.. ein prob gibt es noch.
wenn man jetzt als plz die zahl 0 eingibt sucht er nichts weil 0 ja false ist.
was jetzt?
mfg,
Patrick
Hi @gain
Ich behaupte jetzt einmal das der Fehler nicht in der SQL ist sondern im PHP Teil.
0 ist nur im PHP false
in MySql ist NULL nicht gesetzt.
Eine Mglichkeit wre es, so zu berprfen
if ($plz != "") {
if (isset($plz)) {
Wobei sich die Frage stellt:
Warum sollt der User 0 eingeben??
patrickn
16-08-2003, 02:06
ja es gibt ja stdte die eine plt wie 06... haben und so.
ja stimmt ich berprfe mit empty($plz). wie kann ich das denn jetzt machen das es geht?
Aha
In sterreich gibt es keine fhrende 0
Geht mit
if ($plz != "") {
oder
if (isset($plz)) {
patrickn
16-08-2003, 02:22
ok danke habs jetzt hinbekommen
mfg,
patrick
vBulletin v3.0.7, Copyright ©2000-2006, Jelsoft Enterprises Ltd.