我有一个带有名字和姓氏的MySQL数据库,我可以使用其中任何一个填充下拉列表。但是我想要两个下降。我也成功了。但是当我提交这些信息时,我被困住了,然后两个项目(第一个和第一个)再次被送回我的数据库。
这是我到目前为止所拥有的
<table align="center">
<form name="addreport" action="addreport.php" method="post">
<?php
$options = '';
$filter=mysql_query("select * from students");
while($row = mysql_fetch_array($filter)) {
$options .="<option value = '".$row['firstname']."'>" . $row['firstname'] . " " .$row['surname']."'>" . $row['surname'] . "</option>";
}
$menu="<name='filter'>
<select name='names'>
" . $options . "
</select></td>";
?>
<tr><td><font color='white' size='6px'>Student Name:<?php echo $menu; ?></td></tr>
<tr><td><font color='white' size='6px'>Teacher Name:<input type="text" name="location" size="12"/></td></tr>
<tr><td><font color='white' size='6px'>Report:</td>
<tr><td><textarea name="report" style="font-size:15px;width:800px;height:300px;"></textarea></td></tr>
<tr><td><font color='white' size='6px'>Intervention:</td></tr>
<tr><td><textarea name="interv" style="font-size:15px;width:800px;height:300px;"></textarea></td></tr>
</table>
<table align="center">
<tr><td><center><input type="submit" class="btn2" value="Add"></center></td></tr>
</form>
</table>
</body>
</html>
该棒将我的表格中的信息发送回我的数据库。如你所见,我可以发回一个但不是两个。请有人帮我构建最后一部分。
答案 0 :(得分:0)
首先,您不应该使用mysql
驱动程序。使用mysqli
或PDO
驱动程序。现在,当我开始了解您的问题时,您希望在下拉列表中显示完整的名称,但只想更新名字。然后,您可以使用value
标记的select
属性,如下所示: -
$filter=mysql_query("select * from students");
while($row = mysql_fetch_array($filter))
{
$options .="<option value = '".$row['firstname'].",".$row['surname']."'>" . $row['firstname'] . " " .$row['surname'] . "</option>";
}
// rest of the code
现在尝试理解代码。您的下拉列表将如下所示: -
数据: -
First Name | Sur Name
----------------------------------------
Deepak Dixit
Coder Developer
HTML
<select name="names">
<option value = "Deepak,Dixit"> Deepak Dixit </option>
<option value = "Coder,Developer"> Coder Developer </option>
</select>
在PHP方面,你需要用逗号(,)(你的选择)来爆炸选择值,只有这样: -
<?php
$first_name = explode(",", $_POST['names'])[0];
$sur_name = explode(",", $_POST['names'])[1];