我想这应该是一个简单的。我很新,因为你会在我的草率代码中看到证据,但我不能让这个for循环在更大的while循环中工作。我得到一个解析错误,但我已经超过了代码HUNDREDS次,并且找不到缺少的分号或逗号。任何提示都表示赞赏。
谢谢!
$result = mysql_query("SELECT `alias`, `max_seats` FROM `rsvp` WHERE `id` = '$id' ");
$alias = $r['alias'];
$seats = $r['max_seats'];
while($r = mysql_fetch_array($result)){
echo '<h3>Welcome, ' . $alias . '. Please complete your RSVP</h3>';
echo '<form class="register" method="post">';
echo '<input type="radio" id="responded" name="responded" value="1">Attending (confirm details in the next step)<br />';
echo '<input type="radio" id="responded" name="responded" value="0"><em><strong>NOT</strong></em> Attending (we\'re sorry you can\'t make it!)<br /><div class="hide" id="hide1">';
echo '<p>Please select the number of seats you\'d like to confirm (' . $seats . ' seats maximum)</p>';
echo '<label for="seats">Seats</label>';
echo '<select name="seats" id="seats">';
for ($i=1; i=$seats; $i++){
echo '<option value="' . $i . '">' . $i . '</option>';
}
echo '</select> <input type="text" placeholder="How many Chicken?"></input><br />';
echo '<input type="text" placeholder="How many Beef?"></input><br /></div>';
echo '<input type="reset" value="Clear"><input type="submit" value="Submit"></form>';
答案 0 :(得分:3)
修复了循环
for ($i=1; $i <= $seats; $i++){
echo '<option value="' . $i . '">' . $i . '</option>';
}
条件$i = $seats
不是比较(它是赋值),仅当$ seat为零时才返回false,对于每个条件它将返回true,并且在每次迭代后也返回$i
的值将设置为$seats
比较的正确方法可以是
$i != $seats // not equals
$i == $seats // equals
$i > $seats // greater than
$i < $seats // less than
$i >= $seats // greater then or equal
$i <= $seats // less then or equal
$result = mysql_query("SELECT `alias`, `max_seats` FROM `rsvp` WHERE `id` = '$id' ");
$alias = $r['alias'];
$seats = $r['max_seats'];
while($r = mysql_fetch_array($result))
{
echo '<h3>Welcome, ' . $alias . '. Please complete your RSVP</h3>';
echo '<form class="register" method="post">';
echo '<input type="radio" id="responded" name="responded" value="1">Attending (confirm details in the next step)<br />';
echo '<input type="radio" id="responded" name="responded" value="0"><em><strong>NOT</strong></em> Attending (we\'re sorry you can\'t make it!)<br /><div class="hide" id="hide1">';
echo '<p>Please select the number of seats you\'d like to confirm (' . $seats . ' seats maximum)</p>';
echo '<label for="seats">Seats</label>';
echo '<select name="seats" id="seats">';
for ($i=1; $i <= $seats; $i++){
echo '<option value="' . $i . '">' . $i . '</option>';
}
echo '</select> <input type="text" placeholder="How many Chicken?"></input><br />';
echo '<input type="text" placeholder="How many Beef?"></input><br /></div>';
echo '<input type="reset" value="Clear"><input type="submit" value="Submit"></form>';
}
答案 1 :(得分:1)
是..您可以在while循环中使用for循环。 在你的代码中你缺少一个$ in for循环。它应该只是这样。 你还需要在for循环中写一个条件。
for ($i=1; $i==$seats; $i++){
答案 2 :(得分:0)
这是正确的,请检查一次....................
$result = mysql_query("SELECT `alias`, `max_seats` FROM `rsvp` WHERE `id` = '$id' ");
while($r = mysql_fetch_array($result)){
$alias = $r['alias'];
$seats = $r['max_seats'];
echo '<h3>Welcome, ' . $alias . '. Please complete your RSVP</h3>';
echo '<form class="register" method="post">';
echo '<input type="radio" id="responded" name="responded" value="1">Attending (confirm details in the next step)<br />';
echo '<input type="radio" id="responded" name="responded" value="0"><em><strong>NOT</strong></em> Attending (we\'re sorry you can\'t make it!)<br /><div class="hide" id="hide1">';
echo '<p>Please select the number of seats you\'d like to confirm (' . $seats . ' seats maximum)</p>';
echo '<label for="seats">Seats</label>';
echo '<select name="seats" id="seats">';
for ($i=1; $i=$seats; $i++){
echo '<option value="' . $i . '">' . $i . '</option>';
}
echo '</select> <input type="text" placeholder="How many Chicken?"></input><br />';