Php/sql Count et group by

Résolu
Bonjour,

J'ai actuellement un probleme très bete avec une requete sql :

J'ai une table Appel , qui recense des informations sur les appels reçus (je suis en stage dans un service informatique) , et je voudrais selectionner le nombre d'appel qui répondent a 2 conditions , donc ca devrait donner :

Ma table Appel :
(NumAppel NomEmpApp PrenomEmpApp OrdinateurEmpApp ProblemeApp date VilleApp heure )

Select count(*)
FROM Appel
Where VilleApp = 'Perols'
AND ProblemeApp = 'Connexion'

Hors cette requete n'affiche aucun résultat , (enfin si , 0)

J'ai donc pensé à faire un regroupement

Select count(*) , VilleApp , ProblemeApp
FROM Appel
Where VilleApp = 'Perols'
Group By VilleApp , ProblemeApp

Et cette requete ne me renvoit strictement rien..

Si vous pouvez me donnez un conseil , je vous en remercie d'avance !
Configuration: Windows 2000
Internet Explorer 6.0

6 réponses

  1. $req = mysql_query('SELECT count(ton_champs) as `virtual_name` FROM ta_table WHERE truc="truc";') or die (mysql_error());
    $data = mysql_fetch_array($req);
    echo $data['virtual_name'];
    1
    1. ^^
      tu peux pas mettre count(*). Le count doit porter sur un champ en particulier. tu peux mettre count(numemp). Ca marchera je pense.
      0
      1. pardon, numemp n'est pas un champ de ta table. Essaye count(numAppel).
        0
    2. Non toujours pas , aucun résultat :/

      Je travaille avec Easyphp pour information
      0
      1. fais un copier-coller de ton code plesae.
        0
    3. while ($incid2)
      {
      echo "<th>$incid2[0] </th>";
      while ($ligne)
      {
      $reqinc = (Ici , la requete que je cherche)
      $resinc = mysql_query($reqinc,$connexion);
      $ligneinc = mysql_fetch_array($resinc);

      echo "<tr><td>$ligne[1]</td> <td> $ligneinc[0] </td> </tr>";
      $ligneinc=mysql_fetch_array($resinc);
      $ligne=mysql_fetch_array($res);
      }
      $incid2 = mysql_fetch_array($res2);
      }

      En gros , j'ai déja fait 2 requetes avant pour lire toutes les agences et tout les types de probleme (qui sont dans d'autres tables) , a chaque incrementation , je vais donc mettre en variable le probleme et l'agence (pour faire un tableau qui m'affichera tout)
      0
      1. Je viens de tester une autre requete , pour etre sur , et ...

        Select NumAppel
        from appel where VilleApp = 'Gestion des flux' and ProblemeApp = 'Connexion'

        ne me retourne AUCUN resultat , quel probleme pourrait-il y avoir dans ma table pour qu'il y ait ce genre de probleme ?
        0
        1. soit tu te trompes dans les noms des champs, soit c'est dans ton php que ça va pas... Au lieu d'utiliser array, j'utiliserais row à ta place. J'ai jamais eu de problèmes avec alors que avec array si...
          0
      2. Je ne fais pas les test sous php , je fais les tests directement sur easyphp (j'execute les requetes en direct).

        Il n'y aurait pas une autre solution pour avoir le count avec 2 conditions ?
        0
        1. t'as requête à l'air tout à fait bonne. Y'a pas de raison que ça foire. Encore un test: Exécute cette requête :
          select * from appel.
          0
        2. @Kokitu es sur que tu as des enregistrements qui correspondent aux critères? Je sais c'est bête comme question mais on sait jamais.^^
          0
        3. @Utilisateur anonymeOui j'en suis sur :D

          Encore autre chose..Cette requete :

          $reqinc = "Select count(*) from appel where ProblemeApp = '$incid2[0]' AND VilleApp = '$ligne[1]';";

          (j'ai inversé problemeapp et villeapp) me renvoit les résultats que je veux...

          Il ne me reste plus qu'a faire les bonnes boucles php pour afficher cela pour tout les problemes (car la , dans mon code php il n'affiche que pour le premier probleme...)

          Je refuse de comprendre , je vais manger , merci de m'avoir aider ;)
          0