Hi!
Hab mal wieder ein kleines bis mittleres Problem.
Ich möchte in der Datenbank meine News-Einträge speichern (funkt auch) und diese dann vollständig nach datum sortiert ausgeben.
dazu der Code:
mittels
funktioniert es nun einwandfrei das Datum zu extrahieren. Nachdem ich aber mehrere Datensätze haben werde, möchte ich das Alle Felder ausgegeben werden (was mittels jeweiliger direkter Addressierung auch funktioniert)
zur Ausgabe hab ich folgenden Befehl verwendet:
Und da liegt der hund.. mit dem code wird mir gan einfach ein ",,,," ausgegeben... ich habs schon mit so ziemlich jeder version die ich irgendwo im netz finden konnte, die geringfügig anders war probiert.. das maximalergebnis das ich bekommen konnte war ",,,,"
Ich persönlich seh den Fehler irgendwo in der for-schleife, da bis zur ausgabe der Reihen-Anzahl alles glatt läuft und diese 1 beträgt, also auch das if-statement korrekterweise 1 zeile ausgibt (wenn ich auf <= ändere sind es 2 zeilen, also geh ich davon aus dass es passt)
ich bin für jegliche hilfestellung dankbar...
Sitz hier schon seit stunden an dem problem und langsam wär ich über ne lösung glücklich... (wenn man sich vornimmt noch ein problem zu lösen und danach aufzuhören, kann man davon ausgehen dass das problem am längsten dauert...)
greez
liquid
EDIT:
Ich hab jetz in der DB einen 2ten datensatz angefügt.
das ganze hat jetz zur folge, dass der erste Datensatz normal angezeigt wird, der 2te datensatz jedoch wie gewohnt mit ",,,,"(leer)
Wenn ich den string mittels vorher erwähntem echo $t_newsabfrage ausgebe, wird asuschliesslich der letzte wert angegeben.
Was mache ich falsch?
ich will doch nur das Zeile1, dann Zeile 2, dann Zeile 3.. ausgegeben wird...
greez
liquid
Hab mal wieder ein kleines bis mittleres Problem.
Ich möchte in der Datenbank meine News-Einträge speichern (funkt auch) und diese dann vollständig nach datum sortiert ausgeben.
dazu der Code:
PHP-Code:
//Erstellen der Abfrage
$db_newsabfrage = mysql_query("SELECT * FROM hp_news ORDER BY Date DESC");
//Umwandlung in ein Array
$t_newsabfrage = mysql_fetch_array($db_newsabfrage, MYSQL_ASSOC) or die("Anfrage fehlgeschlagen: " . mysql_error());
PHP-Code:
echo $t_newsabfrage["Date"] . "<br />";
zur Ausgabe hab ich folgenden Befehl verwendet:
PHP-Code:
//Zeilenanzahl ermitteln:
$nrows = mysql_num_rows($db_newsabfrage);
//anzahl zur kontrolle ausgeben:
echo "anzahl reihen: " . $nrows . "! <br />";
//if schleiffe die anz. überprüft und dann die entsprechenden werte ausgibt.
if ($nrows != 0)
{for ($j = 0; $j < $nrows; $j++){
$row = mysql_fetch_array($db_newsabfrage, MYSQL_ASSOC);
$ni = $row["NewsID"];
$da = $row["Date"];
$ti = $row["Titel"];
$te = $row["Text"];
echo "$ni, $da, $ti, $te <br>";
}}
Ich persönlich seh den Fehler irgendwo in der for-schleife, da bis zur ausgabe der Reihen-Anzahl alles glatt läuft und diese 1 beträgt, also auch das if-statement korrekterweise 1 zeile ausgibt (wenn ich auf <= ändere sind es 2 zeilen, also geh ich davon aus dass es passt)
ich bin für jegliche hilfestellung dankbar...
Sitz hier schon seit stunden an dem problem und langsam wär ich über ne lösung glücklich... (wenn man sich vornimmt noch ein problem zu lösen und danach aufzuhören, kann man davon ausgehen dass das problem am längsten dauert...)
greez
liquid
EDIT:
Ich hab jetz in der DB einen 2ten datensatz angefügt.
das ganze hat jetz zur folge, dass der erste Datensatz normal angezeigt wird, der 2te datensatz jedoch wie gewohnt mit ",,,,"(leer)
Wenn ich den string mittels vorher erwähntem echo $t_newsabfrage ausgebe, wird asuschliesslich der letzte wert angegeben.
Was mache ich falsch?
ich will doch nur das Zeile1, dann Zeile 2, dann Zeile 3.. ausgegeben wird...
greez
liquid
Kommentar