Mailinglisten-Archive |
Hallo Liste, ich stehe immer noch vor meinem PHP-Problem und komme einfach nicht weiter. Ich habe wirklich schon alles erdenkliche versucht. Ich weiß nicht, ob ich mein Problem zuletzt richtig beschrieben habe, deshalb versuche ich es jetzt nochmal. Bitte nehmt es mir nicht übel, daß ich Euch nochmal damit nerve - ich versuche mich in PHP jetzt erst seit knapp über einer Woche und habe als Anleitung nur die Englische Doku und das PHP-Buch von Richard Blume & Co. ... und ich habe absolut keine Programmiererfahrung in C oder dergleichen vorher gehabt. Ich bitte daher um Euer Verständnis, falls es bei mir mal "etwas länger dauert", bis ich das kapiere... Mein Problem ist das folgende: Ich bekomme von einem HTML-Formular die Variablen $suchart und $suchwert übermittelt. In $suchart wird numerisch (1 oder 2) definiert, nach welchem Feld gesucht werden soll. In $suchwert steht dann der obligatorische Suchbegriff. Die Datei anzeige.php3 soll dann in Zehnerschritten die Ergebnisse präsentieren. Der Code sieht für mich absolut in Ordnung aus - hier kommt er, so gut wie möglich von mir dokumentiert: <?php if(!isset($pos)): $pos=0; endif; mysql_connect(localhost,root); mysql_select_db(hvz); /* Hier frage ich die Position $pos ab, falls der Anwender bereits vorher 10 Einträge gesehen und auf "weiter" gedrückt hat. Wenn nicht, wird $pos auf 0 gesetzt. Anschließend wird die Datenbank geöffnet. */ /* Ausgabe der Einträge nach Städten */ if( $suchart == 1 ): $anwid=mysql_query("select * from haendler where (ort=\"$suchwert\") limit $pos,10"); if( ( $zeile=mysql_fetch_row($anwid) ) == "" ): echo('Kein solcher Eintrag vorhanden'); else: while($zeile=mysql_fetch_row($anwid)): echo $zeile[1];?> <br> <? echo $zeile[2];?> <br> <? echo $zeile[3];?> <br> <? echo $zeile[4];?> <? echo $zeile[5];?> <br> <? echo $zeile[6];?> <br> <? echo $zeile[7];?> <p> <? endwhile; endif; /* ENDE Ausgabe der Einträge nach Städte */ /* Ok, hier soll also, falls die $suchart==1 ist, nach einem Ortsnamen gesucht werden, der in $suchwert enthalten ist. Ist kein Eintrag vorhanden, soll ein entsprechender String ausgegeben werden. Der Witz ist nun: Wenn ich die Abfrage auskommentiere, in der geguckt wird, ob überhaupt ein Eintrag da ist, dann funktioniert die Datenausgabe in der While-Schleife. Ansonsten gibt die While-Schleife gar nichts aus, nicht mal die <br>-Tags, die ELSE-Schleife wird aber dennoch durchlaufen (mit nem ECHO getestet). Hä? Wenn ich aber einen Suchbegriff eingebe, der definitiv nicht vorhanden ist, gibt das Programm korrekt "Kein Eintrag vorhanden" aus... WARUM ??????? */ /* Ausgabe der Einträge nach Firmen */ elseif( $suchart == 2 ): $anwid=mysql_query("select * from haendler where (fname=\"$suchwert\") limit $pos,10"); if( ( $zeile=mysql_fetch_row ( $anwid ) ) == "" ): echo('Kein Blubbereintrag vorhanden'); else: while($zeile=mysql_fetch_row($anwid)): echo $zeile[1];?> <br> <? echo $zeile[2];?> <br> <? echo $zeile[3];?> <br> <? echo $zeile[4];?> <? echo $zeile[5];?> <br> <? echo $zeile[6];?> <br> <? echo $zeile[7];?> <p> <? endwhile; endif; /* ENDE Ausgabe der Einträge nach Firmen */ endif; /* Tja, und dieser Block ist nochmal genau identisch mit dem obigen, nur das hier ein anderes Feld in der DB gesucht wird. Auch die Problematik ist identisch. Ich frage mich jetzt - was zum Henker kann hier falsch sein? Ich habe das 1000mal durchgeguckt und ich finde den Fehler einfach nicht!!! Bitte helft mir - ich bin Euch unendlich dankbar! (Frustschieb...) Grüße, Nadja */ ?>
php::bar PHP Wiki - Listenarchive