2017-04-04 101 views
-1

我無法讓我的WHILE代碼正常工作。我想這一點:

$sql = "SELECT * FROM udvalgte_kampe"; 
$query = mysqli_query($conn, $sql); 

然後我想讓它顯示錶中的所有行,所以我用:

while($row = mysqli_fetch_array($query)) 
{ 
    echo '<tr> 
      <td>'.$row['hold1'].' - '.$row['hold2'].'</td> 
      <td>'.$row['hold3'].' - '.$row['hold4'].'</td> 
      <td>'.$row['hold5'].' - '.$row['hold6'].'</td> 
      </tr>' 
} 

但它不會工作?如果我只用:

$row = mysqli_fetch_array($query); 
echo '<tr> 
     <td>'.$row['hold1'].' - '.$row['hold2'].'</td> 
     <td>'.$row['hold3'].' - '.$row['hold4'].'</td> 
     <td>'.$row['hold5'].' - '.$row['hold6'].'</td> 
     </tr>' 

它工作正常,但只顯示一行。請幫忙!

+0

什麼是 「行不通」 的意思是你的while循環? – Rizier123

+3

這不是所有的代碼,是嗎?我的猜測是你不止一次提取查詢結果,所以當你嘗試循環時你永遠不會得到第一行。 –

+0

*但它不起作用?*你問我們嗎?或者你描述你得到的結果? – Alex

回答

-1

嘗試類似while循環的foreach工作。確保你在數據庫中有多行。

<?Php  
    $sql = "select * from trainer"; 
    $query = mysqli_query($conn, $sql); 
    foreach($query as $row){ 
    echo '<tr> 
       <td>'.$row['hold1'].' - '.$row['hold2'].'</td> 
       <td>'.$row['hold3'].' - '.$row['hold4'].'</td> 
       <td>'.$row['hold5'].' - '.$row['hold6'].'</td> 
      </tr>'; 
    } 
?> 

+0

這實際上是這樣:)我真的不知道之前有什麼錯。但是謝謝你! :) –

+0

這是一個分號';';-) – Alex

+0

我使用mysqli_fetch_assoc()而不是fetch_array,數組對於我們來說有時是非常挑剔的 – clearshot66