为了账号安全,请及时绑定邮箱和手机立即绑定

While 循环只显示数据库中的第一行

While 循环只显示数据库中的第一行

PHP
慕仙森 2021-06-10 08:12:17
我知道这是一个超级基本的问题,但我一整天都找不到答案。我试图在表中显示我的所有数据库行,而我的 while 循环只显示第一行。我试图将 while 循环的条件更改为“mysqli_fetch_array”,然后甚至没有出现第一行。echo "<table>";    echo "<tr>        <th>Match_Id</th>        <th>Home_Team</th>         <th>Away_Team</th>        <th>Result</th>        <th>season</th>         <th>notes</th>        <th>Goals_Sum</th>      </tr> ";     $sql = "SELECT * FROM PremierLeague";   `enter code here`  $result = sqlsrv_query($conn, $sql); while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {     echo "<tr>";     $id = $row['id'];     echo "<td>$id</td>";     $Home = $row['Home'];     echo "<td>$Home</td>";     $Away = $row['Away'];     echo "<td>$Away</td>";     $result = $row['result'];     echo "<td>$result</td>";     $season = $row['season'];     echo "<td>$season</td>";     $notes = $row['notes'];     echo "<td>$notes</td>";     $home_goals= $row['home_goals'];     $away_goals= $row['away_goals'];     $GoalSum = $home_goals+$away_goals;     echo "<td>$GoalSum</td>";     echo "</tr>"; }  echo "</table>";预期结果:包含数据库中所有行的表。实际结果:只有数据库的第一行
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

echo "<table>";

    echo "<tr>

        <th>Match_Id</th>

        <th>Home_Team</th> 

        <th>Away_Team</th>

        <th>Result</th>

        <th>season</th> 

        <th>notes</th>

        <th>Goals_Sum</th>

      </tr> ";



     $sql = "SELECT * FROM PremierLeague";

  $result = sqlsrv_query($conn, $sql);


 while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {

            $id = $row['id'];

          $Home = $row['Home'];

          $Away = $row['Away'];     

        $result = $row['result'];

       $season = $row['season'];

       $notes = $row['notes'];

     $home_goals= $row['home_goals'];

     $away_goals= $row['away_goals'];

     $GoalSum = $home_goals+$away_goals;




 echo $output.="<tr>

                 <td>$id</td>

                 <td>$Home</td>

                 <td>$Away</td>

                 <td>$result</td>

                 <td>$season</td>

                 <td>$notes</td>

                 <td>$GoalSum</td>

                </tr>";

 }

  echo "</table>";


查看完整回答
反对 回复 2021-06-13
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您的代码示例乍一看很干净,但这仍然让我想起两种不同的可能性:


您的表格仅包含一行。这很愚蠢,但必须先检查。好吧,我想你做到了;

一个无关的分号“;” while()条件后忘记:

    while($res=fetch(…));

    {

        display something…

    }

在这种情况下,循环将迭代直到数据集结束,然后将输入大括号中的块(假设为孤立块),显示变量中剩余的内容。但在这种情况下,您应该获得查询的最后一行,而不是第一行。


查看完整回答
反对 回复 2021-06-13
  • 2 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信