Veröffentlicht 8. November 200618 j Hallo, ich habe ein kleines, aber feines Problem. Ich habe eine kleine Anwendung in PHP geschrieben, womit man Fragebögen generieren und auswerten kann. Jetzt können in einem Fragebogen auch offene Fragen, also Fragen ohne Antwortmöglichkeiten, gestellt werden. Die Auswertung davon ist so direkt ja nicht möglich. Jetzt biete ich einen kleinen Explorer an, also womit man alle Antworten zu den offenen Fragen sieht. Jetzt besteht aber folgendes Problem. Ein Anwender muss die offene ja nicht ausfüllen und das bedeutet, dass das Datenbankfeld leer ist. Das heißt, es werden auch die leeren Datenbankfelder angezeigt, aber das möchte ich natürlich nicht. Mit einer If-Bedinung wollte ich dieses Problem umgehen, aber das funktioniert nicht. Hier der Programmausschnitt: $antwort=$row_antworten->antwort; if($antwort!="") { echo '<tr>'; echo '<td class="info">'; echo '<div id="div11">'; echo $antwort; echo '<br>'; echo '</div>'; echo '</td>'; echo '</tr>'; }[/php] Die Antwort soll ausgegeben werden, wenn das Feld [b]nicht[/b] leer ist. Jedoch macht er dies nicht. Wisst ihr vielleicht warum dies so nicht funktioniert und wie es funktionieren könnte.
9. November 200618 j $antwort==undefined[/PHP] [PHP] $antwort.lenght > 0 oder is_null($antwort) versuch mal diese varianten
9. November 200618 j oder versuchs indem du im sql statement schon abfragst, ... WHERE antwort != "" ... [/PHP] eventuell eine möglichkeit
12. November 200618 j Danke für die Antworten, leider hat nichts gefruchtet. Ich habe jetzt herausgefunden, dass die HTML-Datei schon Leerzeichen in der Textarea hat, was ich persönlich sehr komisch finde. Kann man die löschen?
12. November 200618 j Argh! War ein sehr dummer Fehler. Hatte: <textarea bla bla> </textarea> Und natürlich hat er das als Leerzeichen etc. interpretiert. Nu denn, jetzt läuft es! Habe übrigens jetzt die Längen Funktion genommen, die lautet in PHP allerdings strlen(). Hätte ich aber auch selbst drauf kommen können. Danke nochmal!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.