复选框和文本不希望显示该值

时间:2013-03-07 19:31:58

标签: php mysql

<!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是corect,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>

1 个答案:

答案 0 :(得分:1)

从db

获取代码不正确
for(...) {
   $row = mysql_fetch_array(...);
}

你只需循环5行结果,无论可能有多少行,并将行数组分配给$ row ...但是对于每一行都没有使用它们。因此,您最终会破坏第一个n-1行并退出循环,只保存了行n

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

尝试这样的事情:

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

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