0
<!DOCTYPE html>
<html>
<head>
<title>Talenquiz2</title>
</head>
<body>


<?php

if (isset($_GET["controleer"]))
  {
  $vraag = $_GET["vraag"];
  $juistantwoord = $_GET["juistantwoord"];
  $foutantwoord1 = $_GET["foutantwoord1"];
  $foutantwoord2 = $_GET["foutantwoord2"];
  $con = mysql_connect("localhost","root","");
  mysql_select_db("dbproject", $con);
  $result = mysql_query("SELECT * FROM tblquizvragen");
  while($row = mysql_fetch_array($result))
  {
  if ($row['vraag'] == $vraag)
    {
    if ($row['juistantwoord'] == $juistantwoord)
     {
     echo "Juist!<br />";
     }
    else
      {
      echo "Fout!<br />";
      }
    }
  }
  mysql_close($con);
  echo "\n<hr />\n";
  }

$aantalvragen=1;
$con = mysql_connect("localhost","root","");
mysql_select_db("dbproject", $con);
$result = mysql_query("SELECT * FROM tblquizvragen WHERE id='". $aantalvragen . "';");
$row = mysql_fetch_array($result);

该程序是一个测验,它提出了 5 个问题,其中 3 个 chckbox 1 是正确的,2 是不正确的。

for ($aantalvragen=1; $aantalvragen<=5; $aantalvragen++)
 {
 $row = mysql_fetch_array($result);
 }

她依琳

$vraag = $row['vraag'];
$juistantwoord = $row['juistantwoord'];
$foutantwoord1 = $row['foutantwoord1'];
$foutantwoord2 = $row['foutantwoord2'];


mysql_close($con);
?>




<form>

它没有在我的浏览器中显示行的值,它只显示一个打开的文本和一个打开的复选框。

<input type="text" name="vraag" value="<?php echo $vraag; ?>" /><br />
<input type="checkbox" name="juistantwoord" value="<?php echo $juistantwoord; ?>" /><br     />
<input type="checkbox" name="foutantwoord1" value="<?php echo $foutantwoord1; ?>" /><br />
<input type="checkbox" name="foutantwoord2" value="<?php echo $foutantwoord2; ?>" /><br />

<input type="submit" value="Controleer je antwoord" name="controleer" />
</form>
</body>
</html>
4

1 回答 1

1

您的代码对于从数据库中获取不正确

for(...) {
   $row = mysql_fetch_array(...);
}

您只需循环 5 行结果,无论有多少行,然后将行数组分配给 $row... 但对每一行都这样做,而无需使用它们。因此,您最终n-1会破坏第一行并退出循环,只n保存行。

如果您对预期的数据行数有误,您的 5 项循环可能只有一个 4 项结果集要处理,最终行$row1值将是 msyql_fetch 在没有时返回的布尔值 FALSE更多数据。

尝试这样的事情:

while($row = mysql_fetch_assoc($result)) {
    echo ..... your stuff here ...
}

更可靠,不依赖于已知的可用行数,并且如果根本没有数据就不会输出任何内容。

于 2013-03-07T19:41:32.443 回答