Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2008, 00h36   #1
Futur Membre du Club
 
Inscription : avril 2005
Messages : 104
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 104
Points : 18
Points : 18
Par défaut [SQL] Regrouper des valeurs : fonction php équivalente à Group BY

Bonsoir,
j'ai besoin de regrouper les valeurs suite à une requête Mysql afin de permettre un trie.

Dans le but de ne pas faire plusieurs requêtes mysql, je souhaiterai savoir si il existe une fonction en php, me permettant de grouper des valeurs.

Ex: ma requete affiche des resultats avec le nom des auteurs et leurs villes, est il possible avec php, de compter le nombre de resultats appartenant à un auteur, ainsi que le nombre de resultats par ville afin de pouvoir proposer une option de trie.

Affichage des enregistrements
Articles
Auteur - ville


Fonction de trie:
Liste des auteurs;
Auteur 1: nb de resulat
...

Liste des villes:
Ville 1 nb de resultat
....

cette fonction permettrai d'éviter de ne faire qu'une requête au lieu de 3.

Merci pour votre aide,
Thibaut
thibaut06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 19h56   #2
Membre du Club
 
Développeur informatique
Inscription : janvier 2008
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2008
Messages : 92
Points : 62
Points : 62
Salut,

Peux-tu fournir la requête SQL et la structure de données en PHP stp ?
__________________
Heureusement qu'on n'envoie pas des fusées..!
picwic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 21h49   #3
Futur Membre du Club
 
Inscription : avril 2005
Messages : 104
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 104
Points : 18
Points : 18
Merci pour ta réponse, la requete est trés simple elle est de ce type:

Code sql :
1
2
SELECT content, title, author, town
FROM articles

C'est traiter dans une boucle foreach afin de traiter les données, quelques choses de trés basique
thibaut06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2008, 14h58   #4
Membre du Club
 
Développeur informatique
Inscription : janvier 2008
Messages : 92
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2008
Messages : 92
Points : 62
Points : 62
Avec des requêtes imbriquées ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
SELECT
  content,
  title,
  town,
  (SELECT COUNT(town) FROM articles a1 WHERE a1.town=a.town) AS nb_town,
  author,
  (SELECT COUNT(author) FROM articles a2 WHERE a2.author=a.author) AS nb_author
FROM
  articles a
ORDER BY
  nb_town,
  nb_author
Reste à rendre dynamique ton ORDER BY en PHP (nb_town/nb_author, ASC/DESC).
__________________
Heureusement qu'on n'envoie pas des fusées..!
picwic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h55.


 
 
 
 
Partenaires

Hébergement Web