Php/sql Count et group by

Résolu/Fermé
Koki - 16 juin 2008 à 10:26
 rikemSen - 4 juin 2009 à 10:36
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 !
A voir également:

6 réponses

$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
Utilisateur anonyme
16 juin 2008 à 10:29
^^
tu peux pas mettre count(*). Le count doit porter sur un champ en particulier. tu peux mettre count(numemp). Ca marchera je pense.
0
Utilisateur anonyme
16 juin 2008 à 10:29
pardon, numemp n'est pas un champ de ta table. Essaye count(numAppel).
0
Non toujours pas , aucun résultat :/

Je travaille avec Easyphp pour information
0
Utilisateur anonyme
16 juin 2008 à 10:31
fais un copier-coller de ton code plesae.
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Utilisateur anonyme
16 juin 2008 à 11:35
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
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
Utilisateur anonyme
16 juin 2008 à 11:46
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
Koki > Utilisateur anonyme
16 juin 2008 à 11:49
Tout les résultats sont la..
0
Utilisateur anonyme > Koki
16 juin 2008 à 11:56
tu 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
Koki > Utilisateur anonyme
16 juin 2008 à 12:00
Oui 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