IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requete insertion BDD mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut Requete insertion BDD mysql
    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

  2. #2
    Membre actif Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Points : 207
    Points
    207
    Par défaut
    Tu commence par insérer dans prêt
    Tu récupère l'id de la dernière insertion
    Tu inséré dans la table emprunt.

  3. #3
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par BlackSmith Voir le message
    Tu commence par insérer dans prêt
    Tu récupère l'id de la dernière insertion
    Tu inséré dans la table emprunt.
    Oui je vois ça mais c'est niveau pratique que je bloque c'est surtout au niveau l'ID de pret voilà exactement ..


    EDIT :

    Problème résolu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Insert les données dans la table PRET
    		$reqInsertPret = mysql_query("INSERT INTO PRET VALUES ('', '$datedebBDD', '$datefinBDD', '$motif')", $connexion) or die ('erreur sur '.$reqInsertPret.'<br/>'.mysql_error());
     
    		// Recupère le dernier numero de pret entré
    		$reqSelectMax = "SELECT MAX(num_pret) FROM PRET";
    		$resSelectMax = mysql_query($reqSelectMax,$connexion);
    		while ($rowmax = mysql_fetch_array($resSelectMax))
    		{
    		$max = $rowmax[0];
    		}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete insert en MySql
    Par Tanoak_LaCapuche dans le forum C#
    Réponses: 4
    Dernier message: 19/06/2012, 16h15
  2. probleme insertion BDD MySQL
    Par myssonuds dans le forum Général Python
    Réponses: 1
    Dernier message: 20/07/2011, 10h33
  3. Collisions de requetes sur bdd MySQL
    Par lysandre dans le forum Requêtes
    Réponses: 17
    Dernier message: 07/12/2007, 10h25
  4. [INSERTION DATE] dans requete d'insertion et mysql
    Par vincedjs dans le forum Requêtes
    Réponses: 9
    Dernier message: 03/02/2006, 17h11
  5. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo