2017-06-15 131 views
-1

我有一個名字和姓氏的MySQL數據庫,我可以使用它填充下拉列表。但我想要一個下降。我也設法做到這一點。但是當我提交這些信息時,我被困住了,然後兩個項目(第一個和第二個姓氏)被重新發回到我的數據庫。PHP從兩個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> 

棍子在我的形式發送信息上回我的數據庫。正如你所看到的,我可以發回一回,但不能兩回。請有人幫我組織這最後一部分。

+2

首先,而不是在PHP中處理,您可以更改您的查詢爲:'選擇id,CONCAT(firstname,',surname)fr om學生'。並且''

+0

'$ options'永遠不會被回顯。你的問題很不明確,特別是關於你的具體編程問題。你寫了很多你已經做的事情,但很少有你的問題,你如何試圖解決它,以及爲什麼這個解決方案不適合你。 – hakre

+0

@hakre選項被回顯,因爲它與$ menu連接。 – ADyson

回答

0

首先,你不應該使用mysql驅動程序。使用mysqliPDO驅動程序。現在,當我開始瞭解您的問題時,您希望在下拉菜單中顯示完整的名稱,但只想更新名字。然後,你可以使用屬性這樣的select標籤value: -

$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]; 
<?php 

$first_name = explode(",", $_POST['names'])[0]; 
$sur_name = explode(",", $_POST['names'])[1]; 
+0

喜迪帕克。理解我的代碼有點舊,但問題是我只是偶爾使用它,再加上我的代碼從來沒有在公司環境中看到外部世界。再加上它一次只有幾頁。我會盡快給你看看,看看我是怎麼發展的。一旦我完成了這一步,我會努力嘗試使用新版本。 P –

+0

@PaulM對不起,但我無法解決您的問題。要麼編輯你的問題,並清楚地問清楚或在評論中提到。謝謝 –

+0

表>學生姓名 有專欄名稱和姓氏 這填充我的動態下拉,這是上面的代碼。 在我的下拉列表中,我可以同時查看名字和姓氏。 但是,只提交一個值寫入我的下一個表。 我想將姓氏和姓氏都寫回我的下一個表>報告表>名字和姓氏。 –