Tableau PHP : trier en fonction des valeurs
4 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Tableau PHP : trier en fonction des valeurs
- Code: Tout sélectionner
$liste=array();
$sql="SELECT `postal` FROM `membres` WHERE `postal`!=''";
$res = queryDB($sql);
while($row = mysql_fetch_array($res)){
$postal=$row['postal'];
if(strlen($postal)==4)$postal='0'.$postal;
$code=substr($postal,0,2);
$liste[$code]++;
}
Alors j'ai un petit soucis pour faire ceci :
Je voudrais afficher les x départements qui possèdent le plus de membres.
Il faut donc trier le tableau $liste par ordre décroissant en fonction des valeurs et non des clés, puis afficher la clé associée pour chaque valeur.
Voici un exemple de ce que je voudrais obtenir :
- Code: Tout sélectionner
75 : 25
92 : 18
34 : 3
(dans ce cas, x vaudrais 3).
Mais voila, je n'y arrive pas -_-#
Quelqu'un aurait il la solution ^^ ?
Je pense qu'il est beaucoup plus simple et efficace de faire tout ce traitement dans la requête sql, sauf si tu as vraiment besoin dans cette page de la liste complète des codes postaux pour chaque membre.
Donc à ta place je commencerais par faire un script qui met au propre dans ta base sql tout les codes postaux sur 5 chiffres ^^
Et ensuite utiliser une requête avec un GROUP BY SUBSTR sur les 2 premiers caractères du code postal :

Donc à ta place je commencerais par faire un script qui met au propre dans ta base sql tout les codes postaux sur 5 chiffres ^^
Et ensuite utiliser une requête avec un GROUP BY SUBSTR sur les 2 premiers caractères du code postal :
- Code: Tout sélectionner
SELECT SUBSTR(postal,0,2) as departement,count(id) as total FROM membres WHERE postal!='' GROUP BY departement ORDER BY total DESC LIMIT 0,3
La requete renvois une erreur, j'ai remplacé "substr" par "substring", pas d'erreur, mais ne renvois pas ce qu'il faut :/ (juste une ligne avec departement vide et total valant le nombre de membres où total!='')
On notera qu'en retirant le substr[ing], les résultats sont corrects, mais il présente les 5 chiffres code postal :/
Edit : Problème résolut, une étrangeté de la nature fait que le 1er caractère d'une chaine traitée par substring a pour index "1" et non "0".
Exemple : 75000
Pour extraire le 75, il faut
subtring(monchamps,1,2);
et non le "0" dont on est habitué pour le PHP.
Merci pour ton aide Takumi
On notera qu'en retirant le substr[ing], les résultats sont corrects, mais il présente les 5 chiffres code postal :/
Edit : Problème résolut, une étrangeté de la nature fait que le 1er caractère d'une chaine traitée par substring a pour index "1" et non "0".
Exemple : 75000
Pour extraire le 75, il faut
subtring(monchamps,1,2);
et non le "0" dont on est habitué pour le PHP.
Merci pour ton aide Takumi
4 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Les deux échelles du PageRank
- Les 2 échelles de PageRank : toolbar et DMOZ
- Sortie officielle de GoogleStats v2.0 !
- La commande site: dans Google
- Participez au projet 3x3 !
- Sortie de GoogleStats v2.01
- Historique des "Google Update"
- Google Insights for Search : le nouveau Google Trends ?
- Liste complète des paramètres utilisés par Google Search (variables dans l'URL)
- Gérer les comptes et profils Google Analytics
Consultez la description détaillée des produits ou services de Google suivants : Google Insights for Search, Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum