Suchergebnis durch Auswahl von Dropdowon1 und Dropdowon2 anzeigen
Ich, Neuling, habe entweder nach den Falschen Kriterien gesucht oder nix gescheites zu meinem Problem gefunden.
Ich bin schon seit Tagen dran herauszufinden wie ich eine Suchfunktion mit 2 oder mehr dropdown Feldern dessen Daten aus einer SQL DB kommen zu realisieren. Dabei sollte er mir nur Daten suchen die aus Dropdowon1 und Dropdowon2 ausgewählt, mit Go Button die anfrage sendet und auf der Seite anzeigen soll. Ich habe auch mal daran gedacht durch die Auswahl der Dropdown Felder dynamisch den SQL String zu generieren aber da mache ich wohl was falsch. Eine einfache Suchfunktion mit einem Input Feld und Go Button bekomme ich hin. Kann mir jemand einen Tipp oder ein Tutorial gegeben währe super. |
Versuch's mal mit mehr Infos. Zeig z.B. Code.
Was hast Du denn für Suchbegriffe genutzt?? --> http://www.google.de/search?q=mysql+...+abfrage+-html |
Das ist der Code eines Tutorial den ich umgebaut habe:
PHP-Code:
|
Du hast da ein wenig die Reihenfolge verhauen. Das "if (isset($HTTP_GET_VARS['searchcatalog'])) muss an den Anfang der Datei. Am Ende ist es sinnlos.
$query_search wird auch beim ersten Aufruf der Seite gesetzt, aber da gibt es $colname_Search und $colname_Search noch gar nicht. Mit in das if (isset()) packen. Zudem glaube ich nicht ganz an denn Sinn der Abfrage. Warum muss das Gesuchte im Namen des Albums UND im Bandnamen auftauchen?? Ändere das erstmal funktionstüchtig ab und dann schauen wir weiter. |
Habe es mahl so versucht aber das geht nicht wirklich
Mein stand jetzt: PHP-Code:
setze ich den PHP-Code:
setzte ich den Kompletten block also: PHP-Code:
Ich weiß das die Abfrage die dort gemacht wird nicht sehr sinnvoll ist. War nur zu faul es mit sinnvollem Inhalt zu füllen. Es geht mir jetzt nur darum wenn ich z.B. BandXYZ auf Syle Rock Prüfe und es wahr ist, soll einfach eine Ausgabe erfolgen. |
Also ich habe mir mal den zu erst geposteten Code angeschaut und 'angepasst'.
Was ich nicht verstehe: die Abfrage wird mit Werten aus einem Formular gefüllt, welches aus der gleichen Abfrage gefüllt wird. Das ist so ein Henne-Ei-Problem. Und warum haben die beiden <select>-Felder den gleichen Namen? Nach dem Abschicken wird bei Dir nur der Wert des letzten Feldes genommen. Nimm also unterschiedliche Namen. Auch ist es nicht gut, wenn Du bei value="" den Wert des Feldes aus der Tabelle einträgst. Besser ist da die ID des Wertes (die es ja hoffentlich gibt)! Haben die Tabellen album und artist voneinander abhängige Felder (Stichwort Fremdschlüssel)? Du hast hier also einiges verwurschtelt. Mal ein Versuch von mir: PHP-Code:
|
Habe was gebraucht um den Skript zum laufen zu bringen. Dabei habe ich es auch einwenig verändert und erweitert. Was aber schon bei der unveränderten Version, nachdem ich die einträge geändert hatte, nicht passierte, war eine Ausgabe. Genauso wie bei dem jetzigem Code.
Ich habe in der Tabelle "album" eine "AlbumID" und bei der Tabelle "artist" eine "ArtistID" Wenn ich diese aber in den Value bereich der jeweiligen dropdown setzte sieht es aber dann so aus: "test6.php?style=& albumname=&Submit=Search" Lasse ich es wie gehabt habe ich dann den Inhalt stehen. Ich habe es mal versucht den Query_Search so zu bauen: PHP-Code:
Wenn ich da auch noch ne Ausgabe die auch noch richtig ist wäre es eigentlich perfekt. PHP-Code:
|
So wie der Code dort steht gibt er nichts aus? Nicht einmal Fehlermeldungen (auch im Quelltext im Browser nachschauen!)?
Lass Dir mal an mehreren Stellen alle Variablen ausgeben und vergleiche, ob die Ausgabe den Erwartungen entspricht. Ist totalRows_Search am Ende auch größer 0? |
"totalRows_Search" ist gleich 0 genauso wie "rows_Search". Keine Ahnung wieso. Keine Fehlermeldung.
Auch wenn die Auswahl so getroffen wurde das da eigentlich ein Eintrag gefunden werden müsste. Habe ich eigendlich die beiden Tabellen richtig miteinander verknüpft? Ev. findet er deswegen nichts oder hänge ich in der PHP-Code:
Mit meiner eingebauten If Schleife erzählt er mir bei jeder Auswahl: "No albums match your search. Try looking for something else." |
Es gibt keine if-Schleifen!!
Wenn Dein Query nix findet, dann wird das schon so stimmen. Du hast doch sicher ein phpMyAdmin zur Verfügung stehen, richtig? Bastel Dir dort mal in aller Ruhe einen Query mit Beispielwerten zusammen, der am Ende anzeigt, was Du erwartet hast. Dann machst Du mit Deinem Skript weiter. Hatte Dich mal was gefragt: "Haben die Tabellen album und artist voneinander abhängige Felder (Stichwort Fremdschlüssel)?" Wie schaut's damit aus? |
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15:35 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.