insert into ( naar 2 tabellen tegelijk)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans v es

Hans v es

12/11/2013 17:37:29
Quote Anchor link
Beste allemaal.

Een reserveringsform van een restaurant heb ik prima werkend en de resultaten komen per mail binnen en een gedeelte ook in een database van de nieuwsbrief, indien aangevinkt.

Maar met het uitbreiden.veranderen van de nieuwsbrief loop ik tegen een probleem aan, de gegevens moeten worden opgeslagen in 2 tabellen.

Tabel members ( een aantal velden en id_member uniek) is geen probleem.
Maar tegelijkertijd moet een 2e tabel (member_group)ook gevuld worden met de waarde id en group.
Tot zover nog steeds geen probleem.
Het punt is dat de 2e tabel (member_group) dezelfde id waarde moet hebben als de tabel members.

Zodat bij het versturen van de nieuwsbrief elk ingeschreven lid ook de groep heeft.
De tabel member_group kan dus meerdere, gelijke id's hebben verdeeld over meer dan 1 groep.


Hopelijk is het duidelijk ;-)
gr Hans
Gewijzigd op 12/11/2013 17:46:05 door Hans v es
 
PHP hulp

PHP hulp

26/11/2024 21:34:03
 
Kris Peeters

Kris Peeters

12/11/2013 17:47:00
Quote Anchor link
Daar bestaat iets voor: mysql_insert_id()

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
mysql_query("INSERT INTO users (username) values ('John')");
$id = mysql_insert_id();  // leest de id van de laatst toegevoegde record
mysql_query("INSERT INTO member_group (user_id, group_name) values (" . $id .", 'De Zeveraars')");
?>
 
Hans v es

Hans v es

12/11/2013 17:52:04
Quote Anchor link
wow, dat lijkt me goed te doen... Zal ik vanavond ff mee stoeien.
Grote dank, Hans
 
Erwin H

Erwin H

12/11/2013 18:00:08
Quote Anchor link
Extra opmerking/waarschuwing:
Wat Kris doet is correct, ook al zullen sommige mensen zeggen 'dat kan toch korter'. Kris leest eerst het id uit in een variabele en gebruikt die variabele in de volgende query. De reden waarom dit goed is heeft voornamelijk te maken met de situaties waarin je die waarde meerdere keren wilt gaan gebruiken voor meerdere inserts. Als je in die insert namelijk ook een auto increment kolom hebt, dan krijg je bij de tweede insert het id van de eerst insert en dus niet meer van de users insert. Verstandig is dus om altijd maar 1 keer uit te lezen en de waarde vanuit de variabele te gebruiken.
 
Pipo Clown

Pipo Clown

12/11/2013 20:10:07
Quote Anchor link
Persoonlijk zou ik een tabel User_Groups aanmaken met unieke Usergroup id's en vervolgens in de member tabel een extra veld Usergroup toevoegen waar je usergroup_id in plaatst.

Wanneer je werkelijk alleen de usergroupnaam nodig hebt zou ik zelfs overwegen om die in de members tabel op te nemen.

Geen dubbele inserts, geen gezeur met zoeken.
 



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.