2013-10-11 68 views
0

我想將多個下拉選擇保存到數據庫的一列中。將多個選擇下拉列表保存爲1列

我有以下幾點:

<select name="pack_choice[]" style="width:270px; margin-bottom:2px;"> 
<option value=''>---Select---</option> 
<?php 
$query = mysql_query("SELECT * FROM tbl_package_source where pack_type = 'Bronze' AND pack_desc = 'Pasta/Noodles/Vegetables'"); 
while ($row = mysql_fetch_array($query)){ 
$pack_id = $row['pack_code']; 
echo "<option value='".$row['pack_code']."'>".$row['pack_part']."</option>"; 
} ?> 
</select> 
<select name="pack_choice[]" style="width:270px; margin-bottom:2px;"> 
<option value=''>---Select---</option> 
<?php 
$query1 = mysql_query("SELECT * FROM tbl_package_source where pack_type = 'Bronze' AND pack_desc = 'Seafoods'"); 
while ($row = mysql_fetch_array($query1)){ 
$pack_id = $row['pack_code']; 
echo "<option value='".$row['pack_code']."'>".$row['pack_part']."</option>"; 
} 
?> 
</select><br/> 

,這裏是我的查詢

$pack_choice = implode(", ",$_POST['pack_choice']); 
$qry = "Insert INTO tbl_packages (pack_choice) VALUES ('{$pack_choice}')"; 
$result_set = mysql_query($qry); 
+0

我知道這不是你的問題,但可能在一列中存儲2個值不是最好的解決方案。因爲當從數據庫中檢索數據時,你必須再次分割這些值(並且假設沒有缺失並且按正確的順序)。 – Wietze314

回答

0

您忘記關閉報價:

$qry = "Insert INTO tbl_packages (pack_choice) VALUES ('{$pack_choice}')"; 

是不是這樣的? 如果不是,請分享您收到的任何錯誤。

+0

我只是忘了把它放在這裏,當我打字時,但它不是問題,我留下的代碼,它不會將下拉菜單中的2個選擇項插入到數據庫中。 – AnnoyedKyo

+0

我同意Al3x_F4nt0m,你需要'var_dump''$ _POST ['pack_choice']''和'$ pack_choice'和'$ qry'並檢查出錯或共享它在這裏。你也可以在'mysql_query()'之後執行'var_dump(mysql_error())'來查看錯誤。 – Yaroslav

0
$pack_choice = implode(", ",$_POST['pack_choice']); 
print_r($pack_choice); // HAVE YOU TRIED TO PRINT OUT // 
$qry = "Insert INTO tbl_packages (pack_choice) VALUES ('{$pack_choice}'); 
$result_set = mysql_query($qry); 
+0

但打印只是打印出網站上的選定值,它不會真的插入,除非你查詢的權利? – AnnoyedKyo

+0

是的,並給我 –