Bonjour,

J'ai une question par rapport à une requete d'insertion de données.

Contexte : J'elabore un module de reservation de matériels (type retro projecteur et pc portable) j'ai actuellement un formulaire avec une date de début, une date de fin, un motif de reservation et des checkbox affichant les différents types de matériels proposés.

L'utilisateur pourra cocher soit :

- Retro-projecteur seul
- PC portable seul
- Les deux

Mes tables concernées :

MATERIEL (num_mat, lib_mat, desc_mat, #num_type)
TYPE (num_type, lib_type) // Type de matériel (PC portable, ..)
PRET (num_pret, datedeb_pret, datefin_pret, motif_pret) // num_pret etant auto incrementé
EMPRUNT (#num_mat, #num_pret, etat) // etat = 1 si le materiel n'est pas retiré / = 2 si il a été retiré / = 3 s'il est revenu

J'ai une requete qui selectionne le matériel disponible :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$reqDispo = "SELECT MATERIEL.NUM_MAT, MATERIEL.DESC_MAT, TYPE.LIB_TYPE 
				 FROM MATERIEL, TYPE 
				 WHERE MATERIEL.DISPO_MAT = 1 
				 AND MATERIEL.NUM_TYPE = TYPE.NUM_TYPE
				 AND MATERIEL.NUM_MAT NOT IN ( 
												SELECT MATERIEL.NUM_MAT
												FROM PRET, EMPRUNT, MATERIEL 
												WHERE PRET.NUM_PRET = EMPRUNT.NUM_PRET 
												AND EMPRUNT.NUM_MAT = MATERIEL.NUM_MAT 
												AND MATERIEL.DISPO_MAT = 1
												AND PRET.DATEDEB_PRET BETWEEN '$datedeb_BDD' AND '$datefin_BDD'
											  )
				AND MATERIEL.NUM_MAT NOT IN ( 
												SELECT MATERIEL.NUM_MAT
												FROM PRET, EMPRUNT, MATERIEL 
												WHERE PRET.NUM_PRET = EMPRUNT.NUM_PRET 
												AND EMPRUNT.NUM_MAT = MATERIEL.NUM_MAT 
												AND MATERIEL.DISPO_MAT = 1
												AND PRET.DATEFIN_PRET BETWEEN '$datedeb_BDD' AND '$datefin_BDD'
											  )
				 ORDER BY TYPE.LIB_TYPE";
Comment je peux faire pour attribuer 1 matériel automatiquement à une personne tout en remplissant les 2 tables (PRET et EMPRUNT) ?

En faite, je ne vois pas vraiment comment faire ma requête..

Si quelqu'un aurait l'aimabilité de m'aider

Merci par avance,

Cordialement,

Emmanuel.J