Beitrag von Stefan (140 Beiträge) am Samstag, 6.Januar.2001, 23:29. WWW: flohmarktguide.de
Probleme mit teilqualifizierter Suche bei Postleitzahlen
Hallo, vielleicht hatte schon mal jemand ein ähnliches Problem:
Ich will den Besuchern meiner Homepage die Möglichkeit geben, Veranstaltungen nach Postleitzahl zu suchen und zwar teilqualifiziert z.B. mit 85 sollen alle Veranstaltungen im Postleitzahlenbereich 85000 bis 85999 gefunden werden.
Würde mich freuen, wenn Ihr mir da weiterhelfen könntet. (Allerdings habe ich von Templates, Loop, do action=all usw. keinerlei Ahnung.)
Gruß
Stefan
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 7.Januar.2001, 00:33.
Re: Probleme mit teilqualifizierter Suche bei Postleitzahlen
Da muß beim Aufruf der parameter PLZ~=xx mit dran.
Also als Link http://www.base....htx=...&PLZ~=xx
PLZ steht für das Feld mit den Postleitzahlen u. xx für den Anfang der Plz. ~= beginnt mit
Sander
Antworten
Beitrag von Hans (355 Beiträge) am Sonntag, 7.Januar.2001, 10:28.
sehr gut...jetzt im Glossar! Danke an Sander!
Antworten
Beitrag von Stefan (140 Beiträge) am Sonntag, 7.Januar.2001, 14:02. WWW: flohmarktguide.de
Re: Krieg ich nicht hin
Hallo,
also irgendwie krieg ich das nicht auf die Reihe.
Ich habe eine Suchmaske definiert die folgende Auswahlmöglichkeiten hat:
Markttyp (Text/Option) +
Postleitzahl (Zahl/Zahl) +
Veranstaltungsort (Text/Text) +
Land (Text/Option) +
Bundesland (Text/Option) +
Tag (Zahl/Option) +
Monat (Zahl/Option) +
Jahr (Zahl/Option)
Der in Baseportal angegebene HTML-Code sieht so aus:
<do action=all browse=top list=list sort^=Veranstaltungsort range^=0,20 pagebrowse=no buttonbrowse=top,bottom listtype=list listfields=Veranstaltungstitel,Markttyp,Postleitzahl,Veranstaltungsort,Land,Bundesland,Tag,Monat,Jahr input=link>
Ich habe jetzt aber keine Ahnung, wo ich den Teil des Codes den Du angegeben hast einsetzen soll, insbesondere, da ja die Auswahl willkürlich durch den Nutzer erfolgen soll, also z.B. einer sucht nur nach PLZ-Bereich 85..., der nächste gezielt nur nach 85354 und der übernächste will alle 8er Bereiche sehen oder die PLZ überhaupt nicht eingeben.
Vielleicht kann mir da nochmal jemand auf die Sprünge helfen, dafür bereits ein herzliches Danke im voraus.
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 7.Januar.2001, 15:43.
Re: Krieg ich nicht hin
Antworten
Beitrag von Andreas (396 Beiträge) am Sonntag, 7.Januar.2001, 16:06.
Geht vielleicht doch [war: Krieg ich nicht hin]
Hallo,
so köntte es meiner Meinung nach gehen:
1. Eine Seite (template) mit Eingabeformular, das u.a. enthält:
<perl>
out <<EOF;
<h3>PLZ-Suche</h3>
<form action="/cgi-bin/baseportal.pl?htx=/Dein_Name/Ausgebetemplate" method="post" enctype="multipart/form-data">
<p>PLZ: <input type="text" name="xPLZ=" size="4"></p>
<p><input type=submit value="Abschicken"></p>
</form></table>
EOF
</perl>
Da könnten dann auch die anderen Eingaben abgefragt werden.
2. Ausgatemplate mit
<loop code=perl db=Deine_Datenbank>
if($xPLZ ~= $PLZ)
{
out <<EOF;
<!-- Datensatz ausgeben -->
EOF
};
</loop>
Und falls das in der if-Abfrage mit '~=' nicht funktionieren sollte, könnte man $PLZ hilfsweise auf die Länge von $xPLZ kürzen, um dann mit '==' arbeiten zu können.
Wie gesagt ohne Gewähr, aber mit einigem Perl-Getrickse sollte das gehen.
Gruß, Andreas
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 7.Januar.2001, 16:20.
Re: Geht vielleicht doch [war: Krieg ich nicht hin]
Wenn man perl so gut kennt... :-)
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 7.Januar.2001, 16:19.
Re: Krieg ich nicht hin
Ich hab das Formular mal direkt von BP geklaut, bei mir funzt es. War vorhin zu voreilig.
<table><form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=/xxx/xxx&cmd=search" method="post" enctype="multipart/form-data"><input type=hidden name="cmd=" value="search"> <tr><td align=right><!font size=2 face=arial,helvetica>Postleitzahl:</td><td><font size=2 face=arial,helvetica><input type="text" name="resort~=" size=20 value=""></td></tr><tr><td><input type=submit value="Abschicken"> <input type=reset value="Zurücksetzen"> </td></tr></form></table>
Das baust du auf die Seite ein, von der gesucht werden soll und verweist bei action auf das Template mit der Ausgabe.
Sander
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 7.Januar.2001, 16:23.
Re: Krieg ich nicht hin
das feld name="resort~=" muß auch noch gewechselt werden in name="Postleitzahl~=" , war noch Überbleibsel von meinem Test
Antworten
Beitrag von Stefan (140 Beiträge) am Sonntag, 7.Januar.2001, 16:45. WWW: flohmarktguide.de
Re: Krieg ich nicht hin - oder doch?
Ja, der Tipp war gut, danke dafür.
Es geht, wenn ich ein eigenes Suchformular programmiere und nicht das automatische Standardformular benutze und dann über ein Option-Feld die gewünschten Varianten, z.B. PLZ-Bereich 1, 2, usw. zur Auswahl anbiete.
Du hast aber recht - sch... Arbeit wenn ich PLZ-Bereich 11, 12 usw. haben will, bzw. noch detailierter.
Antworten
Beitrag von Stefan (140 Beiträge) am Sonntag, 7.Januar.2001, 17:05. WWW: flohmarktguide.de
Re: Krieg ich nicht hin - oder doch?
Ja, der Tipp war noch besser, funktioniert bei mir auch.
Danke, an alle, die dabei geholfen haben.
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 9.Januar.2001, 13:05.
Re: teilqualifizierte Suche bei Postleitzahlen - eigenes Suchformular??
Mmhh, brauchts denn unbedingt ein eigenes Suchformular? Möglich wäre es ja auch, die Postleitzahlen als einfaches Textfeld (Grösse 5) zu definieren, naja und das wars... Eingabe von "85" findet automatisch alles mit 85 vorne dran... Allerdings muss man darauf achten, die Sortierung nach "Text" zu machen, nicht nach Zahl!
Antworten
Beitrag von Stefan (140 Beiträge) am Mittwoch, 10.Januar.2001, 22:39. WWW: flohmarktguide.de
Re: teilqualifizierte Suche (PLZ) - eigenes Suchformular??
Uups, auf die Idee bin ich nicht gekommen.
Ist aber einen Versuch wert. Ach ja, ich hab da noch ein anderes kleines Problem.
Ich hab einige Einträge auf dem Rechner meines Vaters gemacht. Z.B. eine Veranstaltung in 46419 Isselburg, und Veranstaltungen in Österreich (9er PLZ, aber 4stellig). Merkwürdigerweise finde ich beide Veranstaltungen nicht, wenn ich die erste Zahl der PLZ eingebe, sondern im PLZ-Bereich 8 (9er PLZ wurde manuell in BP eingetragen, 4er PLZ hochgeladen - CSV-Datei von Staroffice erstellt). Jetzt bin ich hergegangen und hab die Daten manuell nochmal mit der PLZ einzeln überschrieben und jetzt geht´s. Kann mir das einer erklären? Ach ja, der Fehler tritt nicht auf, wenn ich die Daten aus einer von Excel erstellten CSV-Datei hochlade.
Gruß
Stefan
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 11.Januar.2001, 00:22.
Re: teilqualifizierte Suche (PLZ) - eigenes Suchformular??
Irgendwelche Steuerzeichen werden beim export/import nicht gelöscht und verhindern hier ab und zu richtige Treffer. Ist mir auch schon so gegangen.
Mit von Hand ändern klappt es dann
Sander
Antworten