gpt4 book ai didi

while 循环外的 PHP count 变量不增加

转载 作者:行者123 更新时间:2023-11-29 07:54:54 26 4
gpt4 key购买 nike

我想从问题表中随机选择几个问题。但是,当我使用 while 循环打印出问题时,我想按升序回显计数器。但计数器变量没有递增。我不知道我错在哪里。

<php
$sql = "select id, questions, ans1, ans2, ans3, correctAns from questions Order By RAND() Limit 1";
$result = mysql_query($sql);
$result2 = mysql_num_rows($result);
for($x = 1; $x <= $result2; $x++)
{
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$quest = $row['questions'];
$a1 = $row['ans1'];
$a2 = $row['ans2'];
$a3 = $row['ans3'];
$correct = $row['correctAns'];

echo $x.'<br />';
echo $quest.<br />;
echo $a1.'<br />';
echo $a2.'<br />';
echo $a3.'<br />';
echo $correct.'<br />';
} //end while loop
} // end for loop
?>

计数器变量只是在整个循环中回显 1 作为值。

最佳答案

您不能将计数器放入第二个循环中:

<?php
$sql = "select id, questions, ans1, ans2, ans3, correctAns from questions Order By RAND() Limit 1";
$result = mysql_query($sql); //ADDED
$x = 1; // ADDED
while($row = mysql_fetch_array($result)) // CHANGED
{
$id = $row['id'];
$quest = $row['questions'];
$a1 = $row['ans1'];
$a2 = $row['ans2'];
$a3 = $row['ans3'];
$correct = $row['correctAns'];

echo $x.'<br />';
echo $quest.<br />;
echo $a1.'<br />';
echo $a2.'<br />';
echo $a3.'<br />';
echo $correct.'<br />';
x++; //ADDED
} //end while loop
?>

此外,您必须将查询结果传递给mysql_fetch_array,而不是查询字符串。
顺便说一句,mysql_* 已被弃用。您应该使用 mysqli_* 或 PDO。

关于while 循环外的 PHP count 变量不增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25410152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com