2010-12-23 23 views
0

Bitte helfen Sie mir, Daten aus der Datenbank abzurufen und anzuzeigen.Abrufen von Daten aus der Datenbank

ich lerne und dies hält mich von vorrückenden :(

ich habe:

$result = mysql_query($sql); 
    $num_reg = mysql_num_rows($result); 
    echo $num_reg; // this shows 3 

    while($row = mysql_fetch_assoc($result)) 
     { 

     foreach($row as $value) 
     { 


    //Now I need to operate with the rows values. 

echo $row['PHONE']; 

Aber statt die Telefonnummern der Druck, druckt sie 5 Mal pro

Was mache ich falsch?

Vielen Dank

Antwort

3

entfernen foreach Schleife

while($row = mysql_fetch_assoc($result)) 
{ 
echo $row['PHONE']; 
echo $row['NAME']; 
echo $row['OTHER_FIELD']; 
} 
1

Sie brauchen nicht foreach in diesem Fall

while($row = mysql_fetch_assoc($result)) 
{ 
    echo $row['PHONE']; 
} 

Wahrscheinlich Ihre $row hat zwei Elemente, und im Inneren foreach Ihr echo $row['PHONE'] wird einmal für jedes Element

1

tun, um eine print_r genannt ($ row) in Ihrer while-Schleife und eine print_r ($ value) in Ihrer foreach-Schleife. Dann fragen Sie, warum echo $ Zeile in einer Schleife auf $ Zeilenelemente.

1

Sie brauchen keine zweite foreach() - Schleife innerhalb der while() - Schleife, um an den Werten zu arbeiten. Was Sie hier machen, ist das Durchlaufen der Zeilen und dann das Durchlaufen der Werte, aber wenn Sie bereits Zugriff auf die Werte über die Variable $ row haben, müssen Sie die Schleife nicht erneut durchlaufen. Die Tatsache, dass Sie die Telefonnummer fünf Mal erhalten, deutet darauf hin, dass Sie fünf Spalten in Ihrer Tabelle haben.

Ein Beispiel - den foreach() Schleife:

while($row = mysql_fetch_assoc($result)){ 
    echo $row['PHONE']; 
    echo $row['NAME']; 
    echo "<br />"; 
} 

Ich vermute, Sie eine Variable haben „name“ genannt, aber wenn es nicht nur eine für tauschen Sie haben. Das letzte Echo druckt nur eine neue Zeile, um das Lesen zu erleichtern.

+0

Vielen Dank an alle, jetzt kann ich weitermachen! – user523129

Verwandte Themen