 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.04.2008, 20:56
|
#1
|
|
TP-Senior
Registriert seit: Jul 2007
Ort: Bobingen
|
Richtiges echo für Suchabfrage
Hallo zusammen,
es geht um folgendes: Ich lasse folgende Abfrage laufen:
PHP-Code:
mysql_select_db($database_Studios, $Studios);
$query_Detailabfrage_7 = sprintf("SELECT id, kommentarid, name, text, freigeben FROM tbl_beitrag_kommentar WHERE kommentarid = %s", GetSQLValueString($colname_Detailabfrage_7, "int"));
$Detailabfrage_7 = mysql_query($query_limit_Detailabfrage_7, $Studios) or die(mysql_error());
$row_Detailabfrage_7 = mysql_fetch_assoc($Detailabfrage_7);
$totalRows_Detailabfrage_7 = mysql_num_rows($Detailabfrage_7);
Und nun will ich unten eine Anzeige aller vorhandenen Datensätze haben, die mir untereinander angezeigt werden sollen.
Das habe ich so probiert:
PHP-Code:
<?php if($row_Detailabfrage_7 > 0){ ?>
<?php do { ?>
<tr>
<td><strong>Name:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['name']; ?></span></td>
</tr>
<tr>
<td><strong>Datum:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['datum']; ?></span></td>
</tr>
<tr>
<td><strong>Beitrag:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['text']; ?></span></td>
</tr>
</table>
Leider kommt die Fehlermeldung 'query was empty', was ja auch logisch ist, da bei der Abfrage noch keine Datensätze gefunden werden. Allerdings will ich, dass die restliche Seite trotzdem angezeigt wird, auch wenn noch keine Datensätze in der Tabelle vorhanden sind. Wenn welche vorhanden sind, sollen sie untereinander angezeigt werden.
Wäre super, wenn ihr mir hier helfen könntet. Mit meinem echo jedenfalls will es so nicht klappen
Vielen Dank!
|
|
|
06.04.2008, 21:50
|
#2
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Zeile $row_Detailabfrage_7 oben löschen.
If Bedingung wie folgt ändern:
if($totalRows_Detailabfrage_7 > 0)
Und in der do..while Schleife dann mit
$row_Detailabfrage_7 = mysql_fetch_assoc($Detailabfrage_7);
arbeiten.
|
|
|
07.04.2008, 00:00
|
#3
|
|
TP-Senior
Registriert seit: Jul 2007
Ort: Bobingen
|
Danke für deine Antwort, leider habe ich das hier nochnicht verstanden:
Zitat:
Und in der do..while Schleife dann mit
$row_Detailabfrage_7 = mysql_fetch_assoc($Detailabfrage_7);
arbeiten.
|
Wo muss ich das genau einfügen?
|
|
|
07.04.2008, 00:23
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Wenn Du mal endlich anfangen würdest, die Doku zu lesen und somit die Grundlagen zu verinnerlichen, würdest Du vieles der Hilfe hier auch verstehen.
|
|
|
07.04.2008, 00:51
|
#5
|
|
TP-Senior
Registriert seit: Jul 2007
Ort: Bobingen
|
Gut, jetzt schaut es so aus:
PHP-Code:
mysql_select_db($database_Studios, $Studios);
$query_Detailabfrage_7 = sprintf("SELECT id, kommentarid, name, text, freigeben FROM tbl_beitrag_kommentar WHERE kommentarid = %s", GetSQLValueString($colname_Detailabfrage_7, "int"));
$Detailabfrage_7 = mysql_query($query_limit_Detailabfrage_7, $Studios) or die(mysql_error());
$totalRows_Detailabfrage_7 = mysql_num_rows($Detailabfrage_7);
PHP-Code:
<?php if($totalRows_Detailabfrage_7 > 0) ?>
<?php do { ?>
<tr>
<td><strong>Name:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['name']; ?></span></td>
</tr>
<tr>
<td><strong>Datum:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['datum']; ?></span></td>
</tr>
<tr>
<td><strong>Beitrag:</strong></td>
<td><span><?php echo $row_Detailabfrage_7['text']; ?></span></td>
</tr>
<?php } while ($row_Detailabfrage_7 = mysql_fetch_assoc($Detailabfrage_7)); ?>
</table>
Leider kommt immer noch folgende Fehlermeldung: Query was empty
|
|
|
07.04.2008, 01:02
|
#6
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Ok, nun haben wir hier zwar Kosmetik betrieben, aber Dein Fehler liegt nun wirklich wo anders ...
$query_Detailabfrage_7 = sprintf("SELECT id, kommentarid, name, text, freigeben FROM tbl_beitrag_kommentar WHERE kommentarid = %s", GetSQLValueString($colname_Detailabfrage_7, "int"));
$Detailabfrage_7 = mysql_query($query_limit_Detailabfrage_7, $Studios) or die(mysql_error());
|
|
|
07.04.2008, 11:28
|
#7
|
|
TP-Senior
Registriert seit: Jul 2007
Ort: Bobingen
|
Ach soooo ist das, das hatte ich glatt übersehen. Jetzt funktioniert es halbwegs. Allerdings verstehe ich etwas bei der echo-Anzeige nicht.
Wenn bspw. 2 Datensätze enthalten sind, zeigt er mir erst mal Name, Datum, Text an, ohne allerdings ein Ergebnis zu liefern, danach kommen dann die beiden Datensätze mit jeweils Name, Datum, Text. D.h. oben steht es einmal zu viel. So schauts aus:
Name:
Datum:
Beitrag:
Name: dsfsdfsdfsdfsdfsdf
Datum:
Beitrag: dsfffffffffffffffffffffffs wert q q34 t ert q34tqwrt3q 43t3q4t 4ter tertqrtt
Name: asfafsdf
Datum:
Beitrag: dfwfwefwefef wsfwefa fwa fwaef waefwqefw efwef
Und noch was. Um das Ganze zu verbergen, wenn gar keine Datensätze vorhanden sind, wollte ich folgenden Code nehmen:
<?php
} else {
echo "<b>Es sind noch keine Beiträge verfasst worden.</b>";
} ?>
Allerdings kommt folgendes: Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\studio-check_final\bewertungsdetails.php on line 347
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:16 Uhr.
|
 |