0

我为我正在制作的游戏制作了一个 WHILE 循环,看起来像这样: UPDATED TO FULL IF STATEMENT

if ($switch == 0){
echo '<a href="/index.php">Exit Voting Booth - You May Vote Again Later</a></br>';
echo '<div role="main" id="main"><div class="wrapper">';
echo '<h3>Ballot Questions:</h3></br>';
$query = "SELECT * FROM ballot_questions";
$ballots = mysql_query($query,$link) or die("Unable to select: ".mysql_error());
$x = 1;

//echo $x;
while($row = mysql_fetch_array($ballots))
{
echo '<h4>'.$row['question'].'<form action="vote_engine.php" method="post">
<input type="hidden" name="id" value= "',$id,'">
Yes:<input type="radio" value="yes" name = "',$x,'">
No:<input type="radio" value="no" name = "',$x,'"></h4></br>';
$x++;
//echo $x;
}
echo '<p><input type="submit" value="submit" name="submit">
</form></p>';
}

在浏览器中显示如下:

测试选票问题 1

是 否

测试选票问题 2 是 否

测试选票问题 3 是 否

测试选票问题 4 是 否

第一行总是显示为好像有 /br 标记。其余的按我的意愿显示。

这是html输出:

退出投票亭 - 您可以稍后再投票

选票问题:

测试选票问题#1 是:否:测试选票问题 #2 是:否:测试选票问题 #3 是:否:测试选票问题 #4 是:否:

有任何想法吗?谢谢

4

1 回答 1

0

这根本不会产生有效的 HTML。谁知道浏览器将如何尝试呈现此页面。

我看到两件事:

  1. 您的<br>标签不正确。
  2. 您正在开始一堆表单,然后结束这些标签一次。

您可以使用以下代码修复这些问题:

<?php
if ($switch == 0) {
    echo '<a href="/index.php">Exit Voting Booth - You May Vote Again Later</a></br>';
    echo '<div role="main" id="main"><div class="wrapper">';
    echo '<h3>Ballot Questions:</h3><br />'; ; // This was </br>
    $query = "SELECT * FROM ballot_questions";
    $ballots = mysql_query($query, $link) or die("Unable to select: " . mysql_error());
    $x = 1;

    echo '<form action="vote_engine.php" method="post">'; // This will create ONE form
    while ($row = mysql_fetch_array($ballots)) {
        echo '<h4>' . $row['question'] . '<input type="hidden" name="id" value= "', $id, '">
                Yes:<input type="radio" value="yes" name = "', $x, '">
                No:<input type="radio" value="no" name = "', $x, '">
              </h4>
            <br />'; // This was </br>
        $x++;
    }
    echo '<p><input type="submit" value="submit" name="submit"></p></form>'; // Switch </p> and </form> tags
}
?>
于 2013-07-24T00:22:10.160 回答