Les Allergies
Alimentaires
Posez votre question Signaler

Php/sql Count et group by [Résolu]

Koki - Dernière réponse le 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 !
Lire la suite 

Php/sql Count et group by »

13 réponses
Réponse
+1
moins plus
$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'];
Ajouter un commentaire
Réponse
+0
moins plus
^^
tu peux pas mettre count(*). Le count doit porter sur un champ en particulier. tu peux mettre count(numemp). Ca marchera je pense.
feez- 16 juin 2008 à 10:29
pardon, numemp n'est pas un champ de ta table. Essaye count(numAppel).
Ajouter un commentaire
Réponse
+0
moins plus
Non toujours pas , aucun résultat :/

Je travaille avec Easyphp pour information
feez- 16 juin 2008 à 10:31
fais un copier-coller de ton code plesae.
Ajouter un commentaire
Réponse
+0
moins plus
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)
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
feez- 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...
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Koki - 16 juin 2008 à 11:49
Tout les résultats sont la..
feez- 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.^^
Koki - 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 ;)
Ajouter un commentaire
Ce document intitulé « Php/sql Count et group by » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?