我正在将我的行从数据库获取到网页中,但它省略了数据库中的第一行并显示第二行的结果。 我应该怎么做才能解决它? 我的代码:
<?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";
}
?>
兄弟,你能试试这个看看吗?