动态分配并返回选择选项?

时间:2014-09-14 16:48:54

标签: php mysql

我有一个表单选择,它是根据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";      
                      ?> 

3 个答案:

答案 0 :(得分:0)

将所有内容放在<form/>中,操作指向页面,方法(获取或发布),然后在脚本中通过<select/&gt;获取变量名称值读取$_GET$_POST变量,我将选项中“name”的注释引用为无效属性。

答案 1 :(得分:0)

  1. 你的第一个问题对我没有意义,我会及时更新答案。
  2. 当用户提交表单时,您可以使用$_GET$_POST(取决于您的表单method)变量来选择选项。
  3. 像这样:

    $teamId = $_POST['team'];
    

答案 2 :(得分:0)

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. 将PHP嵌入HTML中,而不是PHP中的HTML。