我将数据库中的行提取到网页中,但它省略了数据库的第一行并显示了第二行的结果。我该怎么做才能解决这个问题?我的代码:
<?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>
答案 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";}
如果您仍然需要这部分代码,请告诉我们它的用途。