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 :

2 requetes avec paramètres différents dans un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut 2 requetes avec paramètres différents dans un tableau
    Bonjour,

    Je sais que je suis embêtant mais j'ai un gros gros problème !

    Voila j'ai deux requetes avec juste un paramètre différent dans les 2 requetes !
    Je l'affiche dans un tableau mais je dois faire deux requetes et c'est super long ! Comment je peux faire pour améliorer tout cela !

    C'est super urgent !
    merci d'avance

    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
    22
    23
    24
    25
    26
    27
     
    //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&	
     
    		echo "<td>";
    		$query_rtt="select SUM(minutes) from dossier where tech='$nom' and dossier='form' OR dossier='ecole' AND date BETWEEN '$date_debut' AND '$date_fin'";
    		$result_rtt=mysql_query($query_rtt);
    		$nb_rtt=mysql_num_rows($result_rtt);
    		for($j=0;$j<$nb_rtt;$j++)
    		{
    		$rtt_p=mysql_result($result_rtt,$j,"SUM(minutes)");
    		echo "$rtt_p";
    		echo "</td>";
    		}	
     
     
    		echo "<td>";
    		$query_rtt="select SUM(minutes) from dossier where tech='$nom' and dossier='qualite' AND date BETWEEN '$date_debut' AND '$date_fin'";
    		$result_rtt=mysql_query($query_rtt);
    		$nb_rtt=mysql_num_rows($result_rtt);
    		for($j=0;$j<$nb_rtt;$j++)
    		{
    		$rtt_p=mysql_result($result_rtt,$j,"SUM(minutes)");
    		echo "$rtt_p";
    		echo "</td>";
    		}
     
    //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    bonjour,

    Tu as la possibilité de faire un groupe BY

    Tu ne fais qu'une seul fois la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "select SUM(minutes) as TOTAL
    from dossier 
    where tech='$nom' AND date BETWEEN '$date_debut' AND '$date_fin'
    GROUP BY dossier"
    ce qui doit te retourner la somme des minutes par dossier.

    Ensuite tu les ajoutes en parcourant ton jeu de résutat.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Je ne comprend pas comment tu met dans chaque <td> le nom de dossier que tu veux !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    autant pour moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "select SUM(minutes) as TOTAL,dossier
    from dossier 
    where tech='$nom' AND date BETWEEN '$date_debut' AND '$date_fin'
    GROUP BY dossier"
    ensuite

    j'ai un peu modifier ton code car je n'utilise jamais mysql_result

    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
    22
    23
    24
    25
     
    		$query_rtt="select SUM(minutes) as TOTAL,dossier
    from dossier 
    where tech='$nom' AND date BETWEEN '$date_debut' AND '$date_fin'
    GROUP BY dossier";
    		$result_rtt=mysql_query($query_rtt);
                   $rtt_1 = 0; // total pour form et ecole
                    $rtt_2 = 0; // total pour qualite
    		while($row = mysql_fetch_assoc($result_rtt))
    		{
                           if(row["dossier"] == 'form' ||row["dossier"] == 'ecole')
                           {
    		            $rtt_1+=row["TOTAL"];
    		       }
                           if(row["dossier"] == 'qualite' )
                           {
    		            $rtt_2+=row["TOTAL"];
    		       }
    		}	
    echo "<td>";
    echo $rtt_1;
    echo "</td>";
    echo "<td>";
    echo $rtt_2;
    echo "</td>";
    comme tout code , ce n'est qu'une solution possible , pas LA solution

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    meme si ce n'est pas LA solution et que cela marche, c'est très bien lol
    Mais j'ai un problème dans le while ! Sa ne veux pas compiler snif !!!

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    j'ai du oublier les "$" devant les row

    vérifie également la syntaxe de mysql_fetch_assoc, je le tape plus avec mon editeur, il le fais pour moi

  7. #7
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    C'est quoi comme éditeur ?
    Cela fonctionne (presque car il me sors pas exactement tous les mêmes résultats lol), c'était un problème de"$" !

    C'est quand même un gain de temps de le faire comme cela ??

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    Citation Envoyé par Devilju69 Voir le message
    C'est quoi comme éditeur ?
    Cela fonctionne (presque car il me sors pas exactement tous les mêmes résultats lol), c'était un problème de"$" !
    j'utilise netbeans 6.5 PHP
    C'est quoi la différence exactement ?
    Citation Envoyé par Devilju69 Voir le message
    C'est quand même un gain de temps de le faire comme cela ??
    C'est une question ou une affirmation ?

  9. #9
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Citation:
    Envoyé par Devilju69 Voir le message
    C'est quand même un gain de temps de le faire comme cela ??
    C'est une question ou une affirmation ?
    C'est une question lol

    Bah j'ai pas le même resultat ! Les chiffres sont différents

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    pour les résultats différents, je pense avoir une réponse.

    Si tu regarde ta requete dans ton premier poste, tu fais un filtre sur le nom du tech ET sur les dossier de type 'form' ensuite viens la subtilité tu fais OU les dossier de type 'ecole'.

    en fait tu prend tout les dossier de type ecole sans tenir compte du tech et en plus les dates ne sont prise que sur les dossier de type ecole.

    ta requete DOIT ETRE ecrite avec des paranthéses.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    "select SUM(minutes) from dossier where tech='$nom' and (dossier='form' OR dossier='ecole') AND date BETWEEN '$date_debut' AND '$date_fin'";
    Les priorité sont à peu près les mêmes en SQL que dans les autre langages.

    LE AND et effectuer avant le OU


    Cette facon de faire n'est pas plus rapide ?

  11. #11
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Oui c'est quand même plus rapide !

  12. #12
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Mais quand j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(row["dossier"] == 'qualite' )
    Comment je peux faire si je veux que c'est juste une partie du mot ; genre il y a le chiffre 1 dedans ?

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

Discussions similaires

  1. Problème avec les espaces dans un tableau !
    Par remixtech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2006, 19h30
  2. Probleme de requetes avec paramètre
    Par Jhulk dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/04/2006, 17h59
  3. Probleme de requetes avec paramètre
    Par Jhulk dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/04/2006, 10h51
  4. [EXCEL] [VBA] Requete avec paramètres
    Par alaingui dans le forum Access
    Réponses: 3
    Dernier message: 17/03/2006, 08h31
  5. [VB.NET] Requete avec des dates dans un DataSet
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2005, 14h30

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