Le forum des BTS IG de l'AFIL
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -30%
LEGO Icons 10318 – Le Concorde à ...
Voir le deal
139.99 €

[Résolu] aide SQL svp

2 participants

Aller en bas

[Résolu] aide SQL svp Empty [Résolu] aide SQL svp

Message  max 318is Mar 5 Aoû - 13:01

Please help me j'en ai marre lol!

Je m'explique :

je dois mettre a jour des interlocuteurs dans ma base de donnée ... J'ai trois tables on va dire COLLEGE, SUIVRE et INTERLOCUTEUR en sachant qu'en fait SUIVRE est l'association entre COLLEGE et INTERLOCUTEUR

En gros je dois faire quoi comme requête pour mettre à jour ou créer un interlocuteur en le rattachant au bon collège et alimenter ma table SUIVRE en même temps? flower

max 318is
Administrateur
Administrateur

Nombre de messages : 347
Age : 39
Localisation : Tour-en-jarez
Date d'inscription : 19/06/2008

https://afilig.bbactif.com

Revenir en haut Aller en bas

[Résolu] aide SQL svp Empty Re: [Résolu] aide SQL svp

Message  max 318is Mar 5 Aoû - 14:33

Bon en fait je viens de faire un ou deux petits trucs pour tester si mon interlocuteur existe ou non avant de le créer ca vous parait bon ou pas ?


Code:

//Fonction permettant la mise a jour des differents champs correspondant au profil de l'interlocuteur
   function COL_MajInterlocuteur ($p_bd, $p_idinter_ou_idcanton, $p_id_profil, $p_nom,  $p_prenom, $p_tel, $p_port, $p_fax, $p_mail, $p_numvoie, $p_libvoie, $p_comp, $p_cp, $p_ville, $p_cedex, $p_type, $p_civilite, $p_num_college = "") {
      if ( $p_id_profil == 21) {
         $requete_maj = $p_bd->execRequete ("UPDATE CANTON SET ELU_nom='$p_nom', "
         . "ELU_prenom='$p_prenom', "
         . "ELU_tel='$p_tel', ELU_port='$p_port', ELU_fax='$p_fax', ELU_mail='$p_mail', "
         . "ELU_numvoie='$p_numvoie', ELU_typevoie='$p_type', ELU_libvoie='$p_libvoie', ELU_cp='$p_cp', "
         . "ELU_ville='$p_ville', ELU_complement='$p_comp', ELU_cedex='$p_cedex', ELU_civilite='$p_civilite' "
         . "where CAN_num='$p_idinter_ou_idcanton';");
      } else {
         if ( COL_Is_Interlocuteur ($p_bd, $p_num_college, $p_id_profil) ) {
            $requete_maj = $p_bd->execRequete ("UPDATE INTERLOCUTEUR SET INT_nom='$p_nom', "
            . "INT_pren='$p_prenom', "
            . "INT_tel='$p_tel', INT_port='$p_port', INT_fax='$p_fax', INT_mail='$p_mail', "
            . "INT_numvoie='$p_numvoie', INT_typevoie='$p_type', INT_libvoie='$p_libvoie', INT_cp='$p_cp', "
            . "INT_ville='$p_ville', INT_complement='$p_comp', INT_cedex='$p_cedex', INT_civilite='$p_civilite' "
            . "where INT_id='$p_idinter_ou_idcanton';");
         } else {
            if ( !empty($p_nom) && !empty($p_prenom) ) {
               $requete_ins_col = $p_bd->execRequete ("INSERT INTO INTERLOCUTEUR (INT_nom, INT_pren, INT_tel, INT_port, INT_fax, INT_mail, "
               . "INT_numvoie, INT_typevoie, INT_libvoie, INT_cp, "
               . "INT_ville, INT_complement, INT_cedex, INT_PRO_id, INT_civilite) "
               . "VALUES ('$p_nom', '$p_prenom', '$p_tel','$p_port','$p_fax','$p_mail','$p_numvoie'"
               . ",'$p_type','$p_libvoie','$p_cp','$p_ville','$p_comp','$p_cedex', $p_id_profil, '$p_civilite');");
               
               $id_nouveau_interlocuteur =  mysql_insert_id();
               
               $requete_ins_suit = $p_bd->execRequete ("INSERT INTO SUIT (SUI_COL_num, SUI_INT_id) Values "
               . "($p_num_college, $id_nouveau_interlocuteur);");
            }
         }
      }
   }
   
   // Retourne vrai si l'interlocuteur existe pour un profil et college donnes, faux autrement
   function COL_Is_Interlocuteur ($p_bd, $p_num_college, $p_id_profil) {
      $requete_testinter = $p_bd->execRequete ("SELECT INT_id FROM INTERLOCUTEUR, SUIT "
      . "WHERE INT_id=SUI_INT_id AND SUI_COL_num=$p_num_college AND INT_PRO_id=$p_id_profil;");
      if ( $p_bd->nbLignes ($requete_testinter) == 0 )
         return FALSE;
      else
         return TRUE;
   }
   

max 318is
Administrateur
Administrateur

Nombre de messages : 347
Age : 39
Localisation : Tour-en-jarez
Date d'inscription : 19/06/2008

https://afilig.bbactif.com

Revenir en haut Aller en bas

[Résolu] aide SQL svp Empty Re: [Résolu] aide SQL svp

Message  effx42 Jeu 25 Sep - 11:55

si je comprends bien, voici la démarche:

- Tu vérifies si ton interlocuteur existe.
- Tu vérifies si le collège existe.
si les deux existent, tu ajoutes à ta table SUIVRE (constitué des deux id's) les deux id que tu récupère.


Pour modifier:
- tu fais un select dans la table SUIVRE et récupère les id's.
- ensuite tu fais un update avec where les id's puis tu remplace l'id du collège.

J'espère que ça peut t'aider.

effx42
Administrateur
Administrateur

Nombre de messages : 155
Date d'inscription : 19/06/2008

Revenir en haut Aller en bas

[Résolu] aide SQL svp Empty Re: [Résolu] aide SQL svp

Message  max 318is Jeu 25 Sep - 12:22

lol excuse moi de ne pas avoir complèter le sujet mais j'ai trouvé une solution depuis c'est bon flower

max 318is
Administrateur
Administrateur

Nombre de messages : 347
Age : 39
Localisation : Tour-en-jarez
Date d'inscription : 19/06/2008

https://afilig.bbactif.com

Revenir en haut Aller en bas

[Résolu] aide SQL svp Empty Re: [Résolu] aide SQL svp

Message  effx42 Jeu 25 Sep - 12:27

ok mais il faut mettre [Résolu] dans le sujet!!!*


GRrrrrrr
J'ai perdu 2 secondes de mon temps

effx42
Administrateur
Administrateur

Nombre de messages : 155
Date d'inscription : 19/06/2008

Revenir en haut Aller en bas

[Résolu] aide SQL svp Empty Re: [Résolu] aide SQL svp

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum