基本上我试图在数据库中输入两个数组,但我似乎无法将它们放在正确的表中。
这是php函数的代码:
$numecap1 = $_POST['numecap'];
$contentcap1 = $_POST['contentcap'];
$numecap = implode(" ", $numecap1);
$contentcap = implode(" ", $contentcap1);
$count_name = count($_POST['numecap']);
for($i=0;$i<$count_name ;$i++){
$_numecap = mysqli_escape_string($con,$numecap[$i]);
$_contentcap = mysqli_escape_string($con, $contentcap[$i]);
$sql3 = "INSERT INTO `".$prefix."".$titlu."`(numecap, contentcap) VALUES ('$numecap', '$contentcap')";}
这里是html表单(注意:java脚本添加了我需要的文本范围):
<form action="" method="post">
Nume table <input type="text" name="table"><br>
Autor <input type="text" name="autor"><br>
Nrcap <input type="text" name="cap"><br>
<input type="button" onclick="addInput()"/>
<span id="responce"></span>
<script>
var boxName2 = 0;
var boxName = 0;
function addInput()
{
var boxName="numecap";
document.getElementById('responce').innerHTML+='<br/>Nume cap<input type="text" name="'+boxName+'[]" " /><br/>';
var boxName2="contentcap";
document.getElementById('responce').innerHTML+='<br/>Continut cap<input type="text" name="'+boxName2+'[]" " /><br/>';
}
</script>
<input type="submit" name="SubmitButton"/>
</form>
如果有人可以提供帮助,我会非常感激,因为我很绝望!
答案 0 :(得分:0)
将您的$ sql更改为:
$sql3 = "INSERT INTO `".$prefix."".$titlu."`(numecap, contentcap) VALUES ('$numecap[$i]', '$contentcap[$i]')";
因为这样,您创建一个新行,只插入一个值。创建一个新行,插入下一个值。等等。
你的for循环应如下所示:
for($i=0;$i<$count_name ;$i++){
$_numecap = mysqli_escape_string($con,$numecap[$i]);
$_contentcap = mysqli_escape_string($con, $contentcap[$i]);
$sql3 = "INSERT INTO `".$prefix."".$titlu."`(numecap, contentcap) VALUES ('$_numecap', '$_contentcap')";
mysqli_query($c, $sql3);
}
答案 1 :(得分:0)
Perhpas你应该研究一下PHP中提供的seralize和unseralize函数,这将帮助你以数组的形式将信息插入到数据库中!
$Array = array(1,2,3,4,5,6,7,8);
$Array_2 = array(1,43985);
$Array = seralize($Array);
$Array_2 = seralize($Array_2);