表格的第一行在 php 中没有显示


First row of table is not shown in php

我正在将我的行从数据库获取到网页中,但它省略了数据库中的第一行并显示第二行的结果。 我应该怎么做才能解决它? 我的代码:

<?php
 $connect = mysql_connect('localhost','root','');
 mysql_select_db("try_test");
 $query = "SELECT id, q_id, question,ans_options FROM test1";
 $result=mysql_query($query);
if($record=mysql_fetch_array($result))
{

   echo $record['q_id']. ". " ;
   echo $record['question']."<br/>";
}
else{
     echo "error";
}
while($record=mysql_fetch_array($result))
{
    echo "<input type=radio>" ;
    echo $record['ans_options']."<br/>";
}

?>
</body>
</html>

不要多次使用mysql_fetch_array。因为,它获取第 1 行并将指针移动到下一条记录。第二次使用该函数时,它开始从该指针的位置获取。因此,您将不会拥有第1条记录。希望这有帮助。我认为@Abdulla Nilam编写了正确的代码。

您的查询正在获取第一行,但它后面没有单选按钮。所以可能是你无法阅读它。在代码中注释以下部分,然后您将获得所有行

if($record=mysql_fetch_array($result)){
  echo $record['q_id']. ". " ;
  echo $record['question']."<br/>"; 
} else{ echo "error";}

如果您仍然需要这部分代码,请告诉我们它的目的。

用这一行:

if($record=mysql_fetch_array($result))

您阅读了第一行。因此,您的 while 循环开始添加第二行。

    <?php
 $connect = mysql_connect('localhost','root','');
 mysql_select_db("try_test");
 $query = "SELECT id, q_id, question,ans_options FROM test1";
 $result=mysql_query($query);
if($record=mysql_fetch_array($result))
{
   echo $record['q_id']. ". " ;

     echo $record['question']."<br/>";
   mysql_data_seek($result, 0);
      while($record=mysql_fetch_array($result))
    {
        ?>
        <input type=radio><?php echo $record["answers_options"]; ?>
        <br/>
}
<?php
}
else{
     echo "error";
}
?>

兄弟,你能试试这个看看吗?