2017-04-04 84 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