Daten werden nicht ausgegeben (Mysql)

jdgf

Mitglied
Hallo,
in folgenden Scriptausschnitt wird von einer Datenbank, in der die Spalten "zitat", "autor" und "bild" neben der "id" vorhanden sind, ein Datenbanksatz für das aktuelle Datum ($datum2) abgefragt und es soll neben dem Zitat das Bild und der Autor ausgegeben werden. Das Zitat erscheint, aber nicht Bild und Autor. Was mache ich falsch?

PHP:
<?php
if ($var2 == $datum2) {
$test1="SELECT * FROM zitat WHERE datum=$var2";
$res=mysql_query($test1);
    while ($dsatz = mysql_fetch_assoc($res))
    {
	if (!("" == $bild)) {
       echo "<img class=\"zitat\" src=\"zitat/".$dsatz["bild"]."\" alt=\"Bild von $autor\">";
    }  
	                                    
	echo "<p>".$dsatz["zitat"]."</p>";
    if (!("" == $autor)) {
       echo "<p class=\"kursiv\">".$dsatz["autor"] ."</p>";
	}

    $var = $dsatz["id"];
    }
}
else {
	$test1="SELECT * FROM zitat WHERE datum=0 ORDER BY RAND() LIMIT 1";
	$res=mysql_query($test1);
		while ($dsatz = mysql_fetch_assoc($res))
		{
	echo "<p>".$dsatz["zitat"]."</p>";
    if (!("" == $autor)) {
       echo "<p class=\"kursiv\">".$dsatz["autor"] ."</p>";
	}
    if (!("" == $bild)) {
       echo "<img class=\"zitat\" src=\"zitat/".$dsatz["bild"]."\" alt=\"Bild von $autor\">";
    }                                      

	$var = $dsatz["id"];
	}
}
?>
Danke für die Hilfe!
Gruß, Dietmar
 
Hi Dietmar,

das hat nichts mit MySQL zu tun, das Problem liegt im PHP-Code.
Wo füllst Du denn die Variablen $bild und $autor, die Du da abfragst? ;)

LG
 
HIer wähle ich alle Datensätze aus, die das gewünschte Datum besitzen und lese alle Spalten (="*") ein.
PHP:
$test1="SELECT * FROM zitat WHERE datum=$var2";
In der Tabelle zitat sind die Spalten id, zitat, bild und autor enthalten.
 
Zuletzt bearbeitet:
Hi,

ich rede davon, dass Du zwei Variablen $bild und $autor per if prüfst, die Du nirgends definiert geschweige denn gefüllt hast. Die Datensätze, die die Abfrage liefert, speicherst Du in der Variablen $dsatz. Schau Dir Deinen Code noch mal genau an.

LG
 
Zurück