2012-07-18 160 views
-2

如何將此數組插入到我的數據庫中?假設我已經有一個數據庫?使用PHP將多維數組插入到數據庫中

<?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> 
動態生成文本框的代碼

請幫忙:(

+0

序列化和反序列化? – Federkun 2012-07-18 17:58:42

+2

是否要將數組本身存儲在數據庫中,還是希望將數組中的值存儲到單個數據庫字段中? – 2012-07-18 17:59:07

+0

另外,什麼數據庫?一些數據庫實際上*有*數組類型。 – 2012-07-18 18:01:25

回答

1

你可能需要計算在來電後數組中元素的量這樣

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

您也可以考慮在這裏加入一些errro處理,以驗證所有崗位數組的大小是相同的,但我會跳過這個。

然後你想通過數組循環,做你的數據庫插入這樣的:

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 
} 

請注意,我已經離開了實際的代碼清理數據和插入數據,thiat是怎麼樣的超出了本次討論的範圍。

+0

謝謝你,先生!我一直在試驗代碼,直到我在這裏問:D謝謝你:D – JakeWevDeb 2012-07-18 19:38:11