第一行表没有在php中显示

时间:2015-03-10 07:13:27

标签: php mysql

我将数据库中的行提取到网页中,但它省略了数据库的第一行并显示了第二行的结果。我该怎么做才能解决这个问题?我的代码:

<?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>

4 个答案:

答案 0 :(得分:1)

不要多次使用mysql_fetch_array。因为,它获取第1行并将指针移动到下一条记录。比第二次使用该功能时,它从该指针的位置开始取出。所以,你不会有你的第一记录。希望这有帮助。我认为@Abdulla Nilam已经写了正确的代码。

答案 1 :(得分:0)

这一行:

if($record=mysql_fetch_array($result))
你读了第一行。所以你的while循环开始添加第二行。

答案 2 :(得分:0)

    <?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["ans_options"]; ?>
        <br/>
}
<?php
}
else{
     echo "error";
}

?>
你能试试看吗?

答案 3 :(得分:0)

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

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

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