2016-08-17 48 views
0
<?php 

if (isset ($_POST['submit'])){ 


$name=$_POST['name']; 
$sports=$_POST['sports']; 
$data=array(); 
for($x=0,$l=count($sports); $x<$l; $x++){ 
    $myArray = explode(',', $name[$x]);// you can use your own filter for names   
    foreach($myArray as $nm){ 
     $data[]=array('name'=>$nm,'sports'=>$sports[$x]); 
    } 
} 
var_dump($data); 


$query="INSERT INTO athletes (name, sports) VALUES ('".$data."')"; 

    $result = mysqli_query($dbc, $query); 

    mysqli_free_result($result); 


} 

?> 

將錯誤數組轉換爲字符串。 熱我是否將數據庫中的單獨行傳遞給它? 輸出工作奇妙,當我傾倒我想要的方式,但我似乎無法讓它傳遞給數據庫。將多維數組傳遞給使用生成的輸入字段的mysql

+0

@Randy是的,這是正確的。這似乎是一件很難完成的事情。 –

+0

我只是爲了讓它更明顯而編輯,我沒有真正改變你的問題。我真的沒有答案給你。 – Randy

+0

好的非常感謝你這樣做。 –

回答

2

我覺得你不需要做多維數組name[][],你只是在你的代碼PHP它就像使用name[]所以,

$name=$_POST['name']; 
$sports=$_POST['sports']; 
$data=array(); 
for($x=0,$l=count($sports); $x<$l; $x++){ 
    $myArray = explode(',', $name[$x]);// you can use your own filter for names   
    foreach($myArray as $nm){ 
     $data[]=array('name'=>$nm,'sports'=>$sports[$x]); 
    } 
} 
var_dump($data); 

Demo

您可以更改$data而插入database like,

$data[]='("'.trim($nm).'","'.trim($sports[$x]).'")'; 

及後您的循環結束,你可以創建這樣的查詢,

$sql ="INSERT INTO <table> (name,sports) VALUES ".implode(',',$data); 

Demo with Query

+0

會嘗試,現在非常感謝 –

+0

@ Rohan Kumaram當我提交時,我剛剛複製了你的代碼並粘貼 –

+0

Warning:explode()期望參數2是字符串,數組在C:\ xampp \ htdocs \ mul中給出在線路10 .PHP 警告:在C的foreach()提供參數無效:\ XAMPP \ htdocs中\ mul.php第11行 警告:爆炸()預計參數2爲字符串,陣列中的C中給出:\第10行上的xampp \ htdocs \ mul.php 警告:爲第11行的C:\ xampp \ htdocs \ mul.php中的foreach()提供的無效參數 array(0){} –

相關問題