在数据库中插入两个数组

时间:2014-05-01 15:13:07

标签: php html arrays database insert

基本上我试图在数据库中输入两个数组,但我似乎无法将它们放在正确的表中。

这是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>   

如果有人可以提供帮助,我会非常感激,因为我很绝望!

2 个答案:

答案 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);

http://uk3.php.net/manual/en/function.serialize.php

http://uk3.php.net/manual/en/function.unserialize.php