Requête d'insertion multi-données!

Fermé
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 12 nov. 2008 à 10:18
 ehring - 7 févr. 2009 à 18:05
Bonjour à tous,

J'ai une table abonne(numabonne,nomabonne) et une table livre(numlivre,titre) avec la relation entre ces deux tables qui devient également une table emprunt(numemprunt,numabonne,numlivre,dateemprunt). A présent je souhaiterai savoir quelle est la requête pour enregistrer un emprunt (sachant qu'il peut y avoir plusieurs livre pour un même emprunt) de telle sorte que je puisse avoir (lors de la consultation) la liste des livres que l'abonné a emprunté(il peut en emprunté plusieurs en une seule fois). Merci d'avance. Je coince grave depuis .

Cordialement.
A voir également:

2 réponses

Bonjour js8bleu,
je suppose que tu veux la requête SQL.
INSERT INTO emprunt numemprunt,numabonne,numlivre,dateemprunt VALUES (1,2,3,{12/10/2008})
avec 1=n° de l'emprunt : Si ce champs est un "autonum", tu peux faire directement:
INSERT INTO emprunt numabonne,numlivre,dateemprunt VALUES (2,3,{12/10/2008})
2=numéro d'abonné : mets le bon numéro !
3=numéro du premier livre emprunté par 2

Tu devras exécuter autan de requêtes qu'il y a de livres empruntés par un lecteur.

Si tu veux la liste des livres empruntés par lecteur... n'hésites pas à demander.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
12 nov. 2008 à 23:05
Bonsoir,

Merci beaucoup Marc pour ton aide. Je vais essayer et te tenir au courant. Bye.

Cordialement
0
bon je sais j'arrive sans doute apres la bagarre, mais si ça peut aider

le mieux amha est de mettre les livres emprunté dans un array que tu serialize dans le champ qui va bien, cela évite de faire autant de requéte que de livres empruntés

donc un truc du genre :
$livres = array('livre1', 'livre2', 'livre3', ......);
mysql_query('INSERT INTO emprunt SET nomempreunteur = "'.$nom.'", livresemptrunte = "'.serialize($livre).'", date = '.time());

a l'inverse pour récupérer tes livres il faut unserialize pour retrouver le array d'origine.
0