2012-07-26 53 views
0

我有一個PHP表單,它最終會將所有填充的數據寫入MySQL數據庫。這是相當可行的,但這裏有一些棘手的,我不知道如何處理:將幾個選中的值保存到MySQL數據庫

我有一個DIV請求一個表的所有行。每行代表一個類別,用戶可以選擇幾個類別添加到他們的帖子。這是我用來檢索行擺在他們面前+複選框代碼:

<?php 

$sql = "SELECT merknaam FROM merken"; 
$result = mysql_query($sql); 

while ($row = mysql_fetch_array($result)) { 
    echo "&nbsp;&nbsp;<input type=\"checkbox\" name=\"merken\" value='" . $row['merknaam'] . "'>&nbsp;" . $row['merknaam'] . " <Br /> "; 
} 

?> 

用戶可以選擇多個類別,而且我想保存所有這些,他們寫信給我的數據庫。所有的類別都應該寫成'一個'一欄,名爲'類別',但是單獨的類別應該是可區分的。

可能是一個棘手的嗎?希望有人能幫助!

回答

0

更改爲複選框代碼:

echo "&nbsp;&nbsp;<input type=\"checkbox\" name=\"merken[]\" value='" . $row['merknaam'] . "'>&nbsp;" . $row['merknaam'] . " <br /> "; 

添加名字後[]將讓PHP對待複選框作爲一個數組,你可以在你的數據庫進行序列化和存儲。

+0

非常感謝,真的幫助我在路上!當我添加括號並選擇一些隨機值時,我會在打印數組時得到以下結果:[code] Array([0] => Fujitsu Siemens [1] => Mango [2] => Revel [3] => Revo [4] => Roth [5] => Rotring)[/ code]如何將它寫入表字段,但保持區分? – user1555076 2012-07-26 15:14:14

+0

您可以序列化數組(http://php.net/manual/en/function.serialize.php)並將其存儲在數據庫中。然後,您可以反序列化(http://www.php.net/manual/en/function.unserialize.php),當它從數據庫中檢索它時,它會將它轉換回給你的數組。 – j08691 2012-07-26 15:18:37

+0

看起來不錯,謝謝你的幫助! – user1555076 2012-07-26 15:21:15

相關問題