Array naar sql tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daan Slagter

Daan Slagter

03/11/2014 18:21:14
Quote Anchor link
Hoi,

Ik heb een array met daarin verschillende arrays zoals:
Array (
[0] => Array (
[id] => 20
[aantal] => 1
)

[1] => Array (
[id] => 35
[aantal] => 1
)

[2] => Array (
[id] => 34
[aantal] => 1
)

[3] => Array (
[id] => 33
[aantal] => 1
)

[4] => Array (
[id] => 32
[aantal] => 1
)
)

Nu wil ik dat als iemand dus deze producten bestelt dat dat in de database komt. Wat is denken jullie de makkelijkste manier om dit in de database te zetten? Het kunnen ook meer dan 4 arrays zijn.
 
PHP hulp

PHP hulp

26/11/2020 02:44:34
 
Arjan Schuurman

Arjan Schuurman

03/11/2014 22:37:25
Quote Anchor link
De array in een foreach zetten, per iteratie het item middels een query in de database plaatsen.

Mocht je nog geen tabellen in je database hebben gemaakt, tip: maak een koppeltabel aan je order-tabel waar je vervolgens de producten in plaatst.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/11/2014 23:02:06
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach($myArray as $row)
{

    $query = "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "')";
    // query uitvoeren
}
?>


Toevoeging op 03/11/2014 23:11:37:

Met mysqli kun je ook met een multiquery werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$query
= '';
foreach($myArray as $row)
{

    $query .= "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "'); ";
}

mysqli_multi_query($link, $query);

?>
 
Daan Slagter

Daan Slagter

04/11/2014 07:35:45
Quote Anchor link
En dan bij elk item het id. zetten van de order zodat elke order bij elkaar blijft?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/11/2014 10:52:16
Quote Anchor link
Nu maak je ineens een stap zijwaarts..

Ja. een beetje order systeem heeft een tabel orders waarin een orderid, customerid en een orderdatum komt te staan.
Daarnaast een tabel orderrules of orderitems (whatever) waarin elk record een artikel is.
Deze tabel heeft inderdaad per regel ook een foreign key orderid.

Je moet heel goed nadenken over je database model. Denk bijvoorbeeld na over wat er gebeurt als later een artikel niet meer leverbaar is. Wat zou er gebeuren als een gebruiker die uit de database verwijderd?
Gewijzigd op 04/11/2014 10:53:53 door Frank Nietbelangrijk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.