Sponsor-Board.de

Normale Version: Hilfe! while Schleife in einer Tabelle?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte eine while schleife in eine Tabelle bringen.
Die erste Zeile wird ganz normal in der Tabelle dargestellt, jedoch alle dadrauf folgenden Zeilen stehen nicht in der Tabelle!
Hier ist der Code:

PHP-Code:
include "inc.php";
echo 
'<table border=\"2\">';
echo 
"<tr><th>Kundennummer</th>";
echo 
"<th>Vorname</th>";
echo 
"<th>Nachname</th>";
echo 
"<th>E-Mail Adresse</th></tr>";
$results mysql_query("SELECT * FROM kunden");
while (
$daten mysql_fetch_object($results)) {

echo 
"<tr><td>";
echo 
$daten->id;
echo 
"</td><td>";
echo 
$daten->vname;
echo 
"</td></tr>";
echo 
"</table>";

Wie schon gesagt, die erste Zeile steht noch in der Tabelle, alle dadrauf folgeden nicht mehr :/

MFG

while ($daten = mysql_fetch_array($results)) {
echo $daten['feldname'];

}

so hätte ich das gemacht
Versuch es mal mit fetch_assoc statt object.

Aus $daten->id wird $daten['id']

Ansonsten schauen ob mehrere Einträge vorhanden sind, ggf. mit print_r / var_dump die Ausgaben checken.
code einrücken nicht vergessen^^ sonst wird es irgendwann unübersichtlich Wink
wärs auch nicht sinnvoller das table ende außerhalb der schleife zu machen o.o wenn du mehrere einträge hast haste natürlich auch mehrer </table> Wink
De Löung ist bestechebd einfach: "</table>" heist "die Tabelle it hier fertig" ...

Hier ist der Code:

PHP-Code:
include "inc.php";
echo 
'<table border=\"2\">';
echo 
"<tr><th>Kundennummer</th>";
echo 
"<th>Vorname</th>";
echo 
"<th>Nachname</th>";
echo 
"<th>E-Mail Adresse</th></tr>";
$results mysql_query("SELECT * FROM kunden");
while (
$daten mysql_fetch_object($results)) {
echo 
"<tr><td>";
echo 
$daten->id;
echo 
"</td><td>";
echo 
$daten->vname;
echo 
"</td></tr>";

echo 
"</table>"


Viel Spas damit Wink

Was mir gerade noch auffällt, fehlen da nicht noch 2 Spalten in der while-Schleife?

@rest Bitte, wen ihr keine Ahnung habt von Programieren Klappe halten. Danke.

@Belliger:
Mit deinem dummen Spruch fühle ich mich ehrlich gesagt persönlich angegriffen, ich weiss das ich es kann. Des weiteren hat Sysix die Lösung gut 2h vor dir gepostet... Fragt sich dann nun wer keine Ahnung hat.

Erstmal warten, Lösungen aufschnappen, gucken was passt und dann "klug Posten", so kommts rüber!
Ich würde das ganze Allgemein ein bisschen anders schreiben - und wie @phpcode schon sagte, einrücken nicht vergessen!

PHP-Code:
<?php
    
// Includes
    
include('./inc.php');
    
    
//MySQL Abfragen
    
$sql1 mysql_query("SELECT * FROM kunden");
    
    
//Ausgabe
    
echo '<table border="0">
        <tr>
            <th>Kundennummer</th>
            <th>Vorname</th>
            <th>Nachname</th>
            <th>E-Mail Adresse</th>
        </tr>'
;
    while(
$row1 mysql_fetch_object($sql1))
    {
        echo 
'<tr><td>'.$row1->id.'</td>'.
        
'<td>'.$row1->vname.'</td>'.
        
'<td>'.$row1->name.'</td>'.
        
'<td>'.$row1->email.'</td></tr>';
    }
    echo 
'</table>'


Zu meinem Code:

  • Ich habe die Anzahl der "echo" Befehle minimiert
  • Ich habe den Code mal ein bisschen kommentiert - sollte man immer machen!
  • fetch_object kann ruhig verwendet werden, warum nicht?
  • Immer Code einrücken, wirklich IMMER. Ansonsten machst du dich bei größeren Dateien selbst verrückt und findest nichts mehr! Deshalb auch das kommtieren Wink
  • Den Quelltext einteilen - d.h. erst ALLE Includes, danach z.B. MySQL Abfragen, dann Ausgabe. Noch besser würde man es machen, wenn man ganz zum Schluss nur einen "echo" Befehl nutzt und den rest vorher in eine temporäre Variable schreibt. Somit lassen sich später einfach "Header-Weiterleitungen" realisieren, sofern das irgendwann mal relevant wird Wink

Sollte so funktionieren. Die entsprechenden Feldnamen bei der Ausgabe musst du natürlich noch anpassen, sonst gibt es Fehler in der Ausgabe =)

@Belliger,
vernünftige Programmierer würden NIEMALS so einen bekloppten Satz sagen! Da fühle ich mich auch schon angegriffen, obwohl ich vorher meinen Senf nicht dazu gegeben habe Wink, besonders wenn ich mir deinen Quellcode so angucke, musst du ja besonders viel von dieser Ahnung haben Wink
Danke Danke Danke, für die viele Antworten!!
Ich bin noch Anfänger (wie man sieht^^), danke für die ganzen Tipps! Biggrin
Referenz-URLs