2012-07-26 95 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