繁体   English   中英

具有相同数据的两个选择

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM