Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1299 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PB urgent requete multiple SQL

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PB urgent requete multiple SQL

n°1998181
fireman243
attentif et tjrs vif!
Posté le 02-06-2010 à 00:10:31  profilanswer
 


bonjour à tous voici mon probleme :  
 
j'ai une table qui se nomme dispo  , dans laquelle des agents marque leur disponibilités sous cette forme :          ref     |      Matricule      |     Creneau     |       Jour      |  Mois     |  
                                                                                                                                                         1     -       2415          -      JOUR        -         21          JANVIER
                                                                                                                                                         2     -       2587          -       nuit         -         06         JANVIER  
                                                                                                                                                         3     -       2587          -      24 H         -         21         JANVIER
 
OBJECTIF :  CREER UNE REQUETE SQL ME PERMETANT D'OBTENIR  LE RESULTAT SUIVANT : OBTENIR LES DISPONIBILITES DES AGENTS POUR LE 21 JANVIER  , CE QUI DOIT ME RESSORTIR NORMALEMENT CECI:  
 
                         2415    JOUR  
                         2587    24 H  
 
LA QUESTION EST COMMENT FAIRE  ?????  MERCI VOICI MON CODE POUR LE MOMENT    
 
 
RESULTAT OBTENU AVEC CE CODE  C'EST   2415  JOUR
                                                          2587  NUIT
                                                          2587  24 H
<body><?php
//REQUETE RECHERCHE DES MATRICULES
    $query = " SELECT * FROM dispo  ";
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('CISDMG',$db);
     
 echo "<table border=\"0\" cellspacing=\"0\">";
 $result = mysql_query($query);
  while($row = mysql_fetch_array($result)){
  $LISTINGMATRICULE=$row['matricule'];
   $query2 = "SELECT * FROM dispo WHERE matricule IN $LISTINGMATRICULE  
      AND jour='21'  
      AND mois='JANVIER'";
   $result2 = mysql_query($query2);
  echo"<tr>";
  echo "<td><font color=black>".$row['MATRICULE']."</font></td>";
  echo "<td><font color=black>".$row['CRENEAU']."</font></td>";
   
  echo "</tr>";  
  }
  echo"</table>";
 
 mysql_close($db);
 ?>
</body>
</html>  
 
MERCI POUR LE COUP DE MAIN

mood
Publicité
Posté le 02-06-2010 à 00:10:31  profilanswer
 

n°1998218
deliriumtr​emens
sic transit intestinal...
Posté le 02-06-2010 à 08:17:39  profilanswer
 

Euh, comment dire...
 
1. Tu sais qu'il y a des formats de type date dans tous les SGBD ?
2. Tu ne penses pas que tu peux tout faire en une requête ?
3. Tu te rends compte que tu n'utilises pas du tout les résultats de ta 2ème requête ($row['MATRICULE'] correspond à la première)
4. Les css, c'est bien.
 
Bref, j'arrête là, mais si on garde l'idée générale de ton code (en gros, hein).

Code :
  1. $jour = 21;
  2. $mois='JANVIER';
  3. $query = "SELECT matricule, creneau FROM dispo WHERE Jour=$jour AND mois='$mois'";
  4. $result = mysql_query($query);
  5. echo '<table>';
  6. while ($row=mysql_fetch_array($result)) {
  7.     echo '<tr>';
  8.     echo '<td>'.$row['matricule'].'</td>';
  9.     echo '<td>'.$row['creneau'].'</td>';
  10.     echo '</tr>';
  11. }
  12. echo '</table>';


 
Et si tu as besoin de voir tous tes agents, tu fais ta requête avec tous tes agents, et dans la boucle while, tu testes :
 

Code :
  1. if ($row['jour'] == 21 && $row['Mois']== 'JANVIER') {
  2. }


Message édité par deliriumtremens le 03-06-2010 à 12:35:08
n°1998600
fireman243
attentif et tjrs vif!
Posté le 02-06-2010 à 23:52:11  profilanswer
 

Salut merci de ton aide précieuse ,  
 
justement comment puis je faire pour utiliser ce résultat ds ma seconde requete , car en fait ds la seconde il faut afficher tous les creneaux du jour concerné à partir de la liste de matricule . tu vois ?  
 
C'est pour cela que d'abord en requete 1 je recherche tous les matricules d'enregistrer sans doublons  
 
et dans ma requete 2 je voudrais me servir de cette liste d ematricule comme cela dans chaque colonne de mon tableau je n'ai pas besoin de réafficher le matricule .  
 
Merci

n°1998738
deliriumtr​emens
sic transit intestinal...
Posté le 03-06-2010 à 12:34:16  profilanswer
 

Hmmm, je ne suis pas sûr d'avoir tout compris :
 
Qu'est-ce que tu veux afficher :
 
Un liste des matricules pour un jour donné (avec le créneau correspondant, sachant que logiquement, un matricule ne peut avoir qu'un seul créneau un jour donné, sinon ils vont être fatigués) ?
Si c'est ça, la première partie du code que je t'ai donné suffit.
 
 
Ou alors tu veux la liste de tous les jours, avec les matricules et créneaux correspondant ?
 
Ou alors tu veaux la liste de tous tes matricules, qu'ils soient dispos ou non, et indiquer simplement lesquels sont disponibles un jour donné ?
 
Fais un petit exemple de "tableau" que tu voudrais afficher, ce sera plus simple.

n°1998806
rufo
Pas me confondre avec Lycos!
Posté le 03-06-2010 à 14:50:32  profilanswer
 

fireman243 a écrit :


bonjour à tous voici mon probleme :  
 
j'ai une table qui se nomme dispo  , dans laquelle des agents marque leur disponibilités sous cette forme :          ref     |      Matricule      |     Creneau     |       Jour      |  Mois     |  
                                                                                                                                                         1     -       2415          -      JOUR        -         21          JANVIER
                                                                                                                                                         2     -       2587          -       nuit         -         06         JANVIER  
                                                                                                                                                         3     -       2587          -      24 H         -         21         JANVIER
 
OBJECTIF :  CREER UNE REQUETE SQL ME PERMETANT D'OBTENIR  LE RESULTAT SUIVANT : OBTENIR LES DISPONIBILITES DES AGENTS POUR LE 21 JANVIER  , CE QUI DOIT ME RESSORTIR NORMALEMENT CECI:  
 
                         2415    JOUR  
                         2587    24 H  
 
LA QUESTION EST COMMENT FAIRE  ?????  MERCI VOICI MON CODE POUR LE MOMENT    
 
 
RESULTAT OBTENU AVEC CE CODE  C'EST   2415  JOUR
                                                          2587  NUIT
                                                          2587  24 H
<body><?php
//REQUETE RECHERCHE DES MATRICULES
    $query = " SELECT * FROM dispo  ";
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('CISDMG',$db);
     
 echo "<table border=\"0\" cellspacing=\"0\">";
 $result = mysql_query($query);
  while($row = mysql_fetch_array($result)){
  $LISTINGMATRICULE=$row['matricule'];
   $query2 = "SELECT * FROM dispo WHERE matricule IN $LISTINGMATRICULE  
      AND jour='21'  
      AND mois='JANVIER'";
   $result2 = mysql_query($query2);
  echo"<tr>";
  echo "<td><font color=black>".$row['MATRICULE']."</font></td>";
  echo "<td><font color=black>".$row['CRENEAU']."</font></td>";
   
  echo "</tr>";  
  }
  echo"</table>";
 
 mysql_close($db);
 ?>
</body>
</html>  
 
MERCI POUR LE COUP DE MAIN


 
Si tu veux, tu télécharges mon appli Astres (cf signature), j'ai justement une partie planning et des vérifications de disponibilités de personnes d'une équipe. Tu regardes, en particulier, le fichier /Astres/Common/DbPlanningLibrary.php pour l'aspect BD et requête SQL
Pour la mise en forme, je fichier /Astres/GUI/GiHighLevelsFormsPlanningLibrary.php


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°1998906
fireman243
attentif et tjrs vif!
Posté le 03-06-2010 à 18:15:04  profilanswer
 

salut deliriumtremens  
 
 
voici le tableau que je souhaiterai afficher  
 
 
- JANVIER -    -- 1 --  2 -- 3 --  4 -- 5 -- 6 -- 7 --- ............
2338        -    JOUR--  0 --24H - 0 -- NUIT.............
2415        -       0  --JOUR- .................................
2735        -    ...................................................      
 
TU VOIS EN FAIT LA PREMIERE COLONNE QUI M AFFICHE LES MATRICULES C BON J AI TROUVE . EN REVANCHE JE VOUDRAIS UNE  REQUETE QUI ME CHERCHE DANS MA TABLE LA DISPO DU GARS POUR LE JOUR DONNE  
 
PAR EXEMPLE TU PREND LE JOUR 1 , CA DOIT DONNER  UN TRUC DU STYLE  
 
SELECT  le creneau From dispo WHERE le jour = 1 , le mois = JANVIER et le matricule est dans la liste de la premiere colonne  
 
ainsi la logique est qu il va regarder tous les enregistrement ou le jour = 1 et le mois = janvier et il me ressort que le creneau si le matricule est présent .  
 
merci  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PB urgent requete multiple SQL

 

Sujets relatifs
Odbc & php : construction de requête en fonction des variablesPb avec la gestion des cellules...
adapter une date pour pouvoir l'utiliser dans un requêteSQL et LIMIT : Selectionner tout sauf le premier élement
[reglé] Plusieurs requete COUNT ?[VBA] Pb hauteur listbox créée dynamiquement
URGENT : Calcul Access[Résolu] Pb de résolution de type dans un template
[RESOLU][MySQL] requete toute simpleréutiliser un alias dans une même requête
Plus de sujets relatifs à : PB urgent requete multiple SQL


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR