Also, da es in einem anderen Thread offenbar übersehen wird und ich dringend Hilfe dafür brauche, frage ich hier nochmal:
Wie kann man eine Aufzählung von MySQL-Daten machen?
Mit folgendem Code wurde immer nur der neuste ausgegeben:
[php]<?php
$sql = „SELECT id, name, beschreibung FROM kurse“;
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc ($result) )
{
echo „
Kursname $row[‚name‘] ($row[‚id‘]) $row[‚beschreibung‘]
“;
}
?>[/php]
du hast in der sql abfrage order by vergessen
ORDER BY braucht man bei ner Aufzählung??? Ach und XRay deine Syntax gibt ne Fehlermeldung.
EDIT: Mit ORDER BY wird auch nur einer ausgegeben…
system
27. Oktober 2006 um 14:09
5
@XraY : :shock:
@topic :
Versuchs mal so in der Richtung:
[php]$sql = „SELECT id, name, beschreibung FROM kurse“;
$result = mysql_query($sql);
if(mysql_num_rows($result) == 0){
echo „
\n“;
echo " \n";
echo " \n";
echo " \n";
echo " \n";
while($werte = mysql_fetch_Assoc($result)){
echo " \n";
echo " \n";
echo " \n";
echo " \n";
}
echo „
Kursname Beschreibung „.$werte[‚name‘].“ „.$werte[‚beschreibung‘].“
\n“;
} else {
echo „Keine Datensätze verfübar.\n“;
}[/php]Aber so ganz verstehe ich leider nichtso ganz, wie die Auflistung aussehen soll
Deine Variante gibt auch nur einen aus…
system
27. Oktober 2006 um 14:23
7
Hab ne Klammer vergessen, evtl. funktionierts jetzt
Wenns immernoch nicht geht, dann gib mal mysql_num_rows aus:
[php]echo(mysql_num_rows($result));[/php]Wenn der Wert bei 1 liegt, dann ist schlichtweg nur ein Datensatz in der DB.
Also es sind definitiv 2 Einträge. Nebenher habe ich immernoch phpmyadmin laufen, damit ich immer in die Tabellen schauen kann.
system
27. Oktober 2006 um 18:57
9
Lass trotzdem mysql_num_rows einmal die Anzahl ausgeben. Weil normalerweise sollte es so klappen, aber wenn nur ein Datensatz ausgelesen wird dann kann auch nur einer ausgegeben werden. Und wenn dem so ist muss der query verändert werden…
Hier: http://scriptsource.ohost.de/kurse.php
mysql_num_rows() ist die Anzahl der Kurse. Hier nochmal der aktuelle SourceCode:
[php]$sql = „SELECT id, name, beschreibung FROM bb1_kurse“;
$result = mysql_query($sql);
$anzahl = mysql_num_rows($result);
if(mysql_num_rows($result) > 0)
{
while($werte = mysql_fetch_assoc($result)){
$kurse = „“.$werte[‚name‘].„“.$werte[‚beschreibung‘].„“;
}
}[/php]
system
27. Oktober 2006 um 19:03
11
Fehler gefunden :!:
Du musst natürlich schreiben [php]$kurse .= „…“
// ^----- Da fehlte der Punkt[/php] weil sonst die Variable in jedem Durchgang überschrieben wird, und dann wird nur der letzte Datensatz ausgegeben.
HALLELUJA!!!
Und ich dachte PHP will mich verarschen >.<
Danke Commodore, wenigstens einer hier hat Geduld bei Blindfischen