如何将多个数据线从Php表单插入数据库

时间:2014-01-28 05:23:12

标签: php database dreamweaver

我是Php的新手,我想做的是通过Php表单文本字段将多行数据输入到数据库中。我现在使用的代码是。

 for($n=0;$n<5;$n++) {
      if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
         $insertSQL = sprintf("INSERT INTO cmsd1 (Population_Name) VALUES (%s)",
                           GetSQLValueString($_POST['Form1'], "text"));

         mysql_select_db($database_cmsdtest, $cmsdtest);
         $Result1 = mysql_query($insertSQL, $cmsdtest) or die(mysql_error());

         $insertGoTo = "ttt.php"; 
     }
 }

然而,正如您所看到的,它所做的就是循环我给出的数据5次。我有一个建议使用'implode'功能但是因为我是新手,我不知道如何做到这一点。我使用Dreamweaver来帮助我的PhP。理想情况下,我希望这段代码能够循环输入数据的次数,而不仅仅是5 ..每个数据点都用空格分隔。它也可能是100。请指教。

尝试以这种方式破坏但不起作用..

 GetSQLValueString(implode(" ",$_POST['form1']), "text"));

2 个答案:

答案 0 :(得分:0)

希望得到这个帮助,我希望这是你所需要的:其他请进一步澄清你的问题

//if your form name  is = 'frm1'
//if textfield name is ='textfieldname'
// when u submit the form then in php you have the form values in 
// $_REQUEST['textfieldname'] 
    foreach($_REQUEST['textfieldname']  as $value){
    //put your code here 
     $insertSQL = sprintf("INSERT INTO cmsd1 (Population_Name) VALUES (%s)",
                           GetSQLValueString($value, "text"));

    //put your code here
    }

答案 1 :(得分:0)

如果以下代码没有帮助,那么将代码放入pastebin中,那么只有我能找出你错在哪里。

//让值类似于$ valesstring =“val1 val2 val3 val4”; //使用$ valuearray = explode(“”,$ valesstring)将它们转换为值数组; //然后我想你知道如何循环数组并将它们放在文本字段中。

//if your form name  is = 'frm1'
//if textfield name is ='textfieldname'
// when u submit the form then in php you have the form values in 
// $_REQUEST['textfieldname'] 

//do var_dump($_REQUEST['textfieldname']) and check if it got textfield values array
    foreach($_REQUEST['textfieldname']  as $key => $value){
      //print($key."--".$value); to check if u got the values
    //put your code here 
     $insertSQL = sprintf("INSERT INTO cmsd1 (Population_Name) VALUES (%s)",
                           GetSQLValueString($value, "text"));

    //put your code here
    }