Как вставить другое значение нескольких массивов

кто-то может помочь мне, у меня есть форма с 2 textarea для имени и имени пользователя. Что я пытаюсь здесь, я хочу вставить список людей с их именем и именами одновременно, поэтому я включаю функцию из jquery для дублирования двух полей.

Пример: на форме ввода:

name username
1.john john 
2.carl carl123

после отправки это то, что я получаю:

name username
1.john john123
2.john carl123
3.carl john123
4.carl carl123

вот код:

<!--?php
require_once "connect_to_mysql.php"; 
if($_POST['name'] || $_POST['username'])
 {

 $array=$_POST['name'];
 $array2=$_POST['username'];

 foreach($array as $name) 
 foreach($array2 as $username) 
 {
 if(strlen($name)-->0)
 {
 echo '<h3>'.$name.'</h3><h3>';
 {
 {
 if(strlen($username)>0)
 {
 echo '</h3><h3>'.$username.'</h3><h3><code>';
 $sqlCommand = "INSERT INTO test(name, username) VALUES ('$name', '$username')";
 $query = mysql_query($sqlCommand) or die (mysql_error());
 }}}
 }
 }
 }

?&gt;


 
 &lt;title&gt;Jquery Duplicate Fields Submit Form&lt;/title&gt;
 
 
 
 
 
 

 

 &lt;div&gt;9lessons programming Blog. Topics focused about jquery, ajax, mysql, php and java. &lt;a href="http://9lessons.info" target="_blank"&gt;http://9lessons.info&lt;/a&gt;&lt;/div&gt;
 &lt;form method="post" action=""&gt;
 &lt;p&gt;  
 
 &lt;/p&gt;
 &lt;p&gt;&lt;a href="#" rel=".clone" target="_blank"&gt;Add More&lt;/a&gt;&lt;/p&gt;
 
 &lt;/form&gt;</code> </h3>
1 ответ

Проблема в том, что вы вставляете свои циклы:

foreach ($array as $name)
 foreach ($array2 as $username)

поэтому он будет генерировать кросс-продукт всех имен и имен пользователей. Вы должны использовать один цикл, который итерации по обеим массивам вместе:

foreach ($array as $i => $name) {
 $username = $array2[$i];
 ...
}

licensed under cc by-sa 3.0 with attribution.