• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Aufzählung aller Daten

Status
Für weitere Antworten geschlossen.
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 "<table width='98%' align='center'><tr><td width='50%'>Kursname</td><td width='50%'>$row['name'] ($row['id'])</td></tr><tr><td>$row['beschreibung']</td></tr></table>";
 }

?>
 
das hier ist blödsinn:

PHP:
<?php
 echo "<table width='98%' align='center'><tr><td width='50%'>Kursname</td><td width='50%'>$row['name'] ($row['id'])</td></tr><tr><td>$row['beschreibung']</td></tr></table>";
?>

wenn schon, dann so:

PHP:
<?php
 echo '<table width='98%' align='center'><tr><td width='50%'>Kursname</td><td width='50%'>'.$row['name'].' ($row['id'])</td></tr><tr><td>'.$row['beschreibung'].'</td></tr></table>';
?>

Nils aka XraYSoLo
 
@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 "<table>\n";
    echo " <tr>\n";
    echo "  <td>Kursname</td>\n";
    echo "  <td>Beschreibung</td>\n";
    echo " </tr>\n";
    while($werte = mysql_fetch_Assoc($result)){
        echo " <tr>\n";
        echo "  <td>".$werte['name']."</td>\n";
        echo "  <td>".$werte['beschreibung']."</td>\n";
        echo " </tr>\n";
    }
    echo "</table>\n";
} else {
    echo "Keine Datens&auml;tze verf&uuml;bar.\n";
}
Aber so ganz verstehe ich leider nichtso ganz, wie die Auflistung aussehen soll :|
 
Zuletzt bearbeitet von einem Moderator:
Hab ne Klammer vergessen, evtl. funktionierts jetzt :)

Wenns immernoch nicht geht, dann gib mal mysql_num_rows aus:

PHP:
echo(mysql_num_rows($result));
Wenn der Wert bei 1 liegt, dann ist schlichtweg nur ein Datensatz in der DB.
 
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 = "<td><normalfont>".$werte['name']."</font></td><td><normalfont>".$werte['beschreibung']."</font></td>";
 } 
}
 
Fehler gefunden :!:


Du musst natürlich schreiben
PHP:
$kurse .= "..."
//     ^----- Da fehlte der Punkt
weil sonst die Variable in jedem Durchgang überschrieben wird, und dann wird nur der letzte Datensatz ausgegeben.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben