使用PHP将多维数组插入数据库

时间:2012-07-18 17:56:21

标签: php arrays multidimensional-array

如何将此数组插入我的数据库?假设我已经有了一个数据库?

<?php

if(isset($_POST['myname'], $_POST['myage'], $_POST['mygen']) === true){
  

//这是我设置键和值的代码

$array = array($_POST['myname'], $_POST['myage'], $_POST['mygen']);

foreach ($array as $i => $values) {
    print "<pre>$i {\n";
    foreach ($values as $key => $value) {
        print "    $key => $value\n";
    }
    print "}\n</pre>";
}
}




?>
<html>
    <head>
    <script type="text/javascript" >
function CreateTextbox() 
  

//我通过此代码动态生成文本框

{
createTextbox.innerHTML = createTextbox.innerHTML +"Name: <input type='text' name='myname[]' /><br>"
+"Age: <input type='text' name='myage[]' /><br>"
+"Gender: <input type='text' name='mygen[]' /><br>" 
}
    </script>
    </head>
    <body> 
        <form action="" method="post">
            <div id="createTextbox"></div>
            <input type="button" value="clickHere" onClick="CreateTextbox()" />
            <input type="submit" value="Submit" name="submit" />
        </form>
    </body>
</html>

请帮助:(

1 个答案:

答案 0 :(得分:1)

您可能需要计算传入的帖子数组中的元素数量,例如

$data_count = count($_POST['myname']);

你也可以考虑在这里添加一些errro处理来验证所有post数组的大小是否相同,但我会跳过它。

然后你想遍历数组并像这样执行数据库插入:

for ($i=0; $i<$data_count; $i++) {
    $name = $_POST['myname'][$i];
    $age = $_POST['myage'][$i];
    $gen = $_POST['mygen'][$i];
    // clean up data for DB insert here 
    // make DB insert
}

请注意,我遗漏了用于清理数据和插入数据的实际代码,因为这有点超出了本讨论的范围。