2015-06-19 3 views
0

Как сохранить значения массива 2 в одной строке?Foreach two array (php)

Мой PHP:

$checkbox1=$_POST['name']; 
     $checkbox2=$_POST['id'];   
      foreach ($checkbox1 as $pop) 
       { 
        $addsql = "insert into referral() values ('$pop','{$_POST['id']}')"; 
        $addresult = mysql_query($addsql, $link);  
       } 

Мой стол (ОШИБКА):

Name ID 
Alex Array 
1  Array 
Alice Array 
2  Array 

Ожидаемый результат:

Name ID 
Alex 1 
Alice 2 
+0

может попытаться изменить {$ _POST [» id ']} to $ checkbox2 в вашем заявлении insert – Satya

+4

См. https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-func ЦИИ-в-PHP; вы уязвимы для SQL-инъекций, и вы должны исправить это, прежде чем двигаться дальше. – Ryan

ответ

0

Надежда эта работа!

$checkbox1=$_POST['name']; 
$checkbox2=$_POST['id']; 
foreach ($checkbox1 as $k=>$pop){ 
    $addsql = "insert into referral() values ('$pop','$checkbox2[$k]')"; 
    $addresult = mysql_query($addsql, $link);  
} 
+0

отлично работает. Спасибо @Alghi Fari – Lee

+0

Почему мой идентификатор записывает все, когда я устанавливаю флажок, начиная со средней строки. – Lee

+0

простой способ сделать сообщение с другим значением, но с тем же типом на флажке, вы можете использовать ** multidimension **, например ' Alex 1
Alice 2' после этого попробуйте 'print_r ($ _ POST);' .. результат должен быть массивом. –

0

Использование mysqli вместо mysql, чтобы предотвратить угон ...

Используйте вместо $checkbox2 из '{$_POST['id']}'

Измените код

$checkbox1=$_POST['name']; 
     $checkbox2=$_POST['id'];   
      foreach ($checkbox1 as $pop) 
       { 
        $addsql = "insert into referral() values ('$pop','$checkbox2')"; 
        $addresult = $mysqli->query($addsql, $link);  
       }