我有一个表单选择,它是根据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");
}
关于代码的一些注意事项:
- 避免使用
mysql_*
、mysqli_*
或PDO
,并始终防止SQL注入 <option>
标记没有名称属性,在本例中未定义$team- 在HTML中嵌入PHP,而不是在PHP中嵌入HTML
- 你的第一个问题对我来说还没有意义,我会更新答案
- 当用户提交表单时,您可以使用
$_GET
或$_POST
(取决于表单的method
)变量选择选项
像这样:
$teamId = $_POST['team'];
将所有内容放在一个<form/>
中,用一个指向页面的操作和一个方法(get或post),然后在脚本中通过读取$_GET
或$_POST
变量的<select/
>名称值获取变量,我引用选项中关于"名称"的注释作为无效属性。