php将相同名称的输入添加到mysql

时间:2012-03-25 06:56:50

标签: php

我有一个表单,其中包含一些生成的输入字段,如theese:

 <input value="March" name="month[March]" type="hidden"> 
<input value="April" name="month[April]" type="hidden"> 
<input value="May" name="month[May]" type="hidden">

我需要将每个输入的数据添加到mysql中,但我不知道它们是否有名称[monthname]。表结构是id,name和month_name。所以我需要将输入数据添加到month_name列。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以用这种方式迭代同名的不同输入

foreach($_POST['month'] as $value) {
   echo $value;
   //Use the value in the query, it gets April March may, one by one
}

P.S:假设您使用POST方法提交表单。

答案 1 :(得分:0)

<input value="March" name="month[March]" type="hidden"> 
<input value="April" name="month[April]" type="hidden"> 
<input value="May" name="month[May]" type="hidden">

您可以用逗号分隔它们(或任何其他分隔符,前提是它不会创建SQL注入)。像

<?php
$months = $_REQUEST['month'];
$sql = "INSERT INTO `YOURTABLE` values ('$id','$name','";
$comma_flag = false;
foreach ($months as $month)
{
    $sql = $sql.($comma_flag?",":"").$month;
    $comma_flag = true;
}
$sql .="');";
$dbc = mysql('localhost','username','password');
mysql_select_db('your_database',$dbc);
mysql_query($sql,$dbc);
?>

注意:MySQL列month_name必须是更大的varchar

稍后,如果您想要进行检索,请在“SELECT FROM ...”之后使用

进行拆分
$months = explode($result,",");