动态分配并返回选择选项


Assign and return select option dynamically?

我有一个表单选择,它是根据mysql查询返回的结果生成的。

Q1)如何根据从数据库中提取的teamID分配名称标识(整数值)?

Q2)然后我如何选择该选项并将其添加到php变量中,然后该变量可用于根据用户的选择更新表?

以下是我迄今为止创建动态下拉列表的代码,它可以从数据库中获取结果。

<?php 
                        $data= mysql_query("SELECT * FROM teams 
                                            WHERE teamID NOT IN (
                                                SELECT TeamID 
                                                FROM leagueInformation 
                                                WHERE leagueID = 1
                                                )
                      ") or die(mysql_query());
                        echo "<select name='"team'" class='"col-lg-12'" style='"padding:10px; background:#e1e1e1;'">'n";  
                          while($info = mysql_fetch_array( $data )) 
                          {
                            $teamID = $info['teamID'];
                            echo "<option name=" . $team . "  value=" . $teamID . ">" .$info['teamName'] . "</option>"; 

                          } 
                        echo "</select>'n";      
                      ?> 

Q1)如何根据从数据库中提取的teamID分配名称标识(整数值)

这个问题不太清楚,但我认为这就是你想要做的?

<?php $data= mysql_query(
    "SELECT * FROM teams WHERE teamID NOT IN (
           SELECT TeamID 
           FROM leagueInformation 
           WHERE leagueID = 1)
    ") or die(mysql_query()); 
?>
<form name="teams_form" method="POST">
    <select name="team" class="col-lg-12" style="...">
        <?php while($info = mysql_fetch_array( $data )): ?>
           <option value="<?php echo $info['teamID'] ?>"> 
               <?php echo $info['teamName'] ?>
           </option>
        <?php endwhile; ?>
    </select>
</form>

Q2)然后我如何选择该选项并将其添加到php变量中,然后该变量可用于根据用户的选择更新表

首先,你需要将你的选择包装在一个表单中(就像我做的那样),然后你可以像这样检查所选的值:

if(isset($_POST['team']) && !empty['team']){
   $selected_team =  $_POST['team'];
   mysql_query("Do what you want with the selected team");
}

关于代码的一些注意事项:

  1. 避免使用mysql_*mysqli_*PDO,并始终防止SQL注入
  2. <option>标记没有名称属性,在本例中未定义$team
  3. 在HTML中嵌入PHP,而不是在PHP中嵌入HTML
  1. 你的第一个问题对我来说还没有意义,我会更新答案
  2. 当用户提交表单时,您可以使用$_GET$_POST(取决于表单的method)变量选择选项

像这样:

$teamId = $_POST['team'];

将所有内容放在一个<form/>中,用一个指向页面的操作和一个方法(get或post),然后在脚本中通过读取$_GET$_POST变量的<select/>名称值获取变量,我引用选项中关于"名称"的注释作为无效属性。