我是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"));
答案 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
}