使用foreach向数据库POST一个数组变量

时间:2013-05-24 20:22:16

标签: php mysql

案例1

我有以下代码,

<SELECT name="country[]">
<OPTION >India</OPTION>
<OPTION >Germany</OPTION>
<OPTION >France</OPTION>
<OPTION >United States</OPTION>
<OPTION >Switzerland</OPTION>

    $country = $_POST['country'];

foreach($country as $a => $b) {

$simpan = mysql_query("insert into tablename(countryyyy) values('$country[$a]')");

 }  

为什么只有来自第一个数组的数据进入数据库? 其余的没有进入数据库?

案例2

<INPUT type="text" name="txt[]">

<SELECT name="country[]">
    <OPTION >India</OPTION>
    <OPTION >Germany</OPTION>
    <OPTION >France</OPTION>
    <OPTION >United States</OPTION>
    <OPTION >Switzerland</OPTION>
</SELECT>  


$txtbox = $_POST['txt'];
$country = $_POST['country'];

foreach($country as $a => $b) {
$satuin =  $txtbox[$a].$country[$a]."<br/>";
$simpan = mysql_query("insert into namatabel(negara) values('$satuin')");

 }

如果我有如上所述的2个数组变量,如何将all连接成一个并作为分隔符发布到数据库 想要发布到列之一的数据示例: 印度 印度 德国 印度

提前致谢

1 个答案:

答案 0 :(得分:1)

不确定您要执行的操作,但如果您使用多个值的选择框,那么在选择框中需要multiple="multiple"

<SELECT name="country[]" multiple="multiple">
    <OPTION value="in">India</OPTION>
    <OPTION value="de">Germany</OPTION>
    <OPTION value="fr">France</OPTION>
    <OPTION value="us">United States</OPTION>
    <OPTION value="ch">Switzerland</OPTION>
</SELECT>