Aufzählung aller Daten

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

das hier ist blödsinn:

[php]

<?php echo "
Kursname$row['name'] ($row['id'])
$row['beschreibung']
"; ?>

[/php]

wenn schon, dann so:

[php]

<?php echo '
Kursname'.$row['name'].' ($row['id'])
'.$row['beschreibung'].'
'; ?>

[/php]

Nils aka XraYSoLo

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…

@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 „
KursnameBeschreibung
„.$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 :expressionless:

Deine Variante gibt auch nur einen aus…

Hab ne Klammer vergessen, evtl. funktionierts jetzt :slight_smile:

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.

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]

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