[英]How do I implement two <selects with <options> in same php page
[英]Two Selects with same data
我想选择一支球队的对手,我做了两次选择,并从数据库中显示了球队:我所做的是:
<p>
<label>Teams</label>
<select id="team1" name="team1">
<option disabled selected value>Team 1</option>
<?php
while ($team = $db->fetch_array($teams))
{
echo renderTeamsSelect($team);
}
$db->free_result($teams);
?>
</select>
VS
<select id="team2" name="team2">
<option disabled selected value>Team 2</option>
<?php
while ($team = $db->fetch_array($teams))
{
echo renderTeamsSelect($team);
}
$db->free_result($teams);
?>
</select>
</p>
注意$ team是:
$teams = $db->query('SELECT * FROM teams');
我的函数renderTeamSelect是:
function renderTeamsSelect($team)
{
return '<option value="' . $team['id'] . '">' . $team['name'] . '</option>';
}
一旦我在html中看到结果,团队2就不会在选项中显示任何内容。
我附上了截图
我不明白为什么选择一个显示结果并选择2否
可能是您正在使用
$db->free_result($teams);
这样您就可以释放结果
尝试仅在页面末尾执行此操作(省略第一个)
更好的方法:
<?php
$teams = $db->query('SELECT * FROM teams');
$final_data = '';
while ($team = $db->fetch_array($teams))
{
$final_data .= renderTeamsSelect($team);
}
function renderTeamsSelect($team)
{
return '<option value="' . $team['id'] . '">' . $team['name'] . '</option>';
}
?>
<p>
<label>Teams</label>
<select id="team1" name="team1">
<option disabled selected value>Team 1</option>
<?php echo $final_data ;?>
</select>
VS
<select id="team2" name="team2">
<option disabled selected value>Team 2</option>
<?php echo $final_data ;?>
</select>
</p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.