PHP从两个mysql列下拉菜单

时间:2017-06-15 08:19:33

标签: php mysql

我有一个带有名字和姓氏的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>

该棒将我的表格中的信息发送回我的数据库。如你所见,我可以发回一个但不是两个。请有人帮我构建最后一部分。

1 个答案:

答案 0 :(得分:0)

首先,您不应该使用mysql驱动程序。使用mysqliPDO驱动程序。现在,当我开始了解您的问题时,您希望在下拉列表中显示完整的名称,但只想更新名字。然后,您可以使用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];