Insert date in mysql din array multidimensional

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
giulian9
Mesaje: 44

Insert date in mysql din array multidimensional

Intr-un array multidimensional sunt niste produse care sunt cumparate(shop). Eu vreau sa salvez in baza de date numele produsului, pretul si cantitatea.
arata cam asa datele ce vreau sa le preiau.

Cod: Selectaţi tot

array (
  'login_user' => 'julian',
  'shopping_cart' => 
  array (
    0 => 
    array (
      'item_id' => '2',
      'item_name' => 'switch',
      'item_price' => '12',
      'item_quantity' => '1',
    ),
    1 => 
    array (
      'item_id' => '6',
      'item_name' => 'windows 10',
      'item_price' => '50',
      'item_quantity' => '1',
    ),
  ),
)
INSERT in mysql :

Cod: Selectaţi tot

INSERT INTO bestellung (nume,pret,bucati) values ($str) ;

MarPlo Mesaje: 4343
Poti sa folosesti codul din urmatorul exemplu. Daca array-ul are aceeasi structura ar trebui sa functioneze.

Cod: Selectaţi tot

$arr =[
  'login_user'=>'julian',
  'shopping_cart'=>[
    0=>[
      'item_id' => '2',
      'item_name' => 'switch',
      'item_price' => '12',
      'item_quantity' => '1',
    ],
    1=>[
      'item_id' => '6',
      'item_name' => 'windows 10',
      'item_price' => '50',
      'item_quantity' => '1',
    ]
  ]
];

$ar_ins =[]; //store data for insert

foreach($arr['shopping_cart'] as $k=>$v){
  if(is_array($v)) $ar_ins[] ="('".$v['item_name'] ."', ". $v['item_price'] .", ". $v['item_quantity'].")";
}

$sql ="INSERT INTO bestellung (name, price, quantity) VALUES ". implode(', ', $ar_ins);

//To check the $sql
echo $sql; // INSERT INTO bestellung (name, price, quantity) VALUES ('switch', 12, 1), ('windows 10', 50, 1)

Subiecte similare