2016-10-06 1 views
-2

У меня есть ниже массивавставка нескольких массив базы данных в цикле

Array 
(
    [user_id] => Array 
    (
     [0] => 1 
     [1] => 1 
     [2] => 1 
     [3] => 1 
    ) 

    [menu_id] => Array 
    (
     [0] => 1 
     [1] => 1 
     [2] => 1 
     [3] => 1 
    ) 

[submenu_id] => Array 
    (
     [0] => 1 
     [1] => 2 
     [2] => 3 
     [3] => 4 
    ) 

) 

мой MySQL базы данных, как показано ниже:

user_id | menu_id | submenu_id 
     |   | 

я хочу, чтобы вставить выше массив в моей базе данных, как показано ниже:

user_id | menu_id | submenu_id 
    1 | 1  | 1 
    1 | 1  | 2 
    1 | 1  | 3 
    1 | 1  | 4 

Как я могу вставить данные, как указано выше? Спасибо.

+2

Ну вы начинаете писать код. Если у вас есть проблемы, задайте здесь вопрос, и мы будем рады помочь. Но ** SO! = Свободное кодирование resouce ** – RiggsFolly

+0

'insert multi array to database in loop'. Никогда не вставляйте петлю. – Andrew

+0

Вы пробовали любой способ его решения? ex для цикла (вложенного) ??? –

ответ

0

Поскольку у вас есть одинаковый индекс для каждого массива, вы хотите получить первое значение из первого массива (user_id) и сначала со второго (menu_id) и так далее и добавить его в строку в mysql.

Вам нужно что-то вроде этого:

foreach($data['user_id'] as $key => $user_id){ 
    //You have $user_id 
    $menu_id = $data['menu_id'][$key]; 
    $submenu_id = $data['submenu_id'][$key]; 
    //All of this 3 variables you need now to insert to mysql. Try it and let me know WITH code if something is not working like this. 
} 
+2

Вы можете быть слишком умны, но сначала попробуйте OP и придумайте решение. – Thamilan

+0

Это работает, спасибо. :) –