[php mysql] Compter ...

THEniluje

Grand Maître
■Actuellement pour connaitre le nombre de personne par exemple dans tel ou tel table je fait un mysql_query("SELECT * FROM table") puis un mysql_num_rows()
Doit tres certainement y avoir moyen de faire ca d'une autre maniere, histoire de gagner du temps cpu, non ?

■Y aurait-il possibilitée via le mysql_num_rows de faire une certaines discrimination, genre ne compter que ceux qui on la valeur x dans le champs y ?

thx
 

Ayuget

Expert
pour la première:
[cpp]
mysql_query("SELECT COUNT(*) FROM table");
[/cpp]

pour la deuxième, tu met un WHERE dans ta requête, c pas plus simple :??: (enfin ca dépend ce que tu veux faire)
 

THEniluje

Grand Maître
pour la 1: ok nikel

2: ben pour un where, je sais pas si s't'envisageable vu que dans mysql_num_rows je fout uniquement le resultat du query. Ce serait quoi la syntaxe ? "$result WHERE y='x'" ?
 

THEniluje

Grand Maître
A le where dans la requete !
Ben en fait c'est pas le but recherché, car l'application c'est ma carte, par exemple je fait une seule requete pour choper toutes les personnes etant en france, et ensuite je decompose le resultat de L'UNIQUE requete pour savoir combien de personnes il y a dans chaque departements...
Soit une economie d'une centaine de requete !
 

JWhy

Expert
2 options:
- tu gardes ta requete 'select *' et apres tu construits un tableau des departements:
definir un tableau departements
pour chaque LIGNE:
[g]dep[/g]=LIGNE["DEPARTEMENT"]
si [g]dep [/g]est defini dans le tableau departements, departements[[g]dep[/g]] = departements[[g]dep[/g]] + 1
sinon definir departements[[g]dep[/g]] et assigné departements[[g]dep[/g]] = 1

- tu ajoutes une requete avec un GROUP BY:
SELECT departement, COUNT(membre) FROM la_table WHERE pays='france' GROUP BY departement
avec eventuellement un ORDER BY departement


 

THEniluje

Grand Maître
Pour le tableau departement[valeur_dept] pas con, mais s'de la bidouille :o :D


Pour l'autre: heu... oui... d'accord... tootafé... :whistle:
Et avec ca comment on tire individuellement chaque résultat ? :??:
 

THEniluje

Grand Maître
A c'est surement un simple tableau, suis-je bete :p

Et ya moyen de grouper et par numero (genre tout les 95 ensemble) et par famille de numero (genre tous les 97* ensemble) ?
 

THEniluje

Grand Maître
la il groupe par 'departement'...

Ya possibilité de gropuer par une famille de departement, de la forme 97* ?
 

JWhy

Expert
on peut saisir le code postal maintenant ? :bounce:

essaye qqchose comme ca:
SELECT substring(code_postal,1,2), COUNT(membre) FROM la_table WHERE pays='france' GROUP BY substring(code_postal,1,2)
avec eventuellement un ORDER BY substring(code_postal,1,2)

mais je vois pas trop l'interet, puisque ca te donnera le meme resultat que la requete pour les departements, non ?
 

THEniluje

Grand Maître
Nan s'pa code postal, s'pour les dom tom, z'ont des numero en 971, 972, 973... [:666]

sinon, thx pour le substring :bounce:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 135
Messages
6 718 109
Membres
1 586 397
Dernier membre
Chachabidou
Partager cette page
Haut