Construire un tableau de type array()

Mammouth du PHP | 545 Messages

11 nov. 2007, 23:55

Bonjour,

A partir d'une requête qui me liste les catégories (tout dépendra du nombre), je voudrais recréer un nouveau tableau qui affichera les 3 meilleurs personnes de chacune des catégories ... comment créer un tableau sans connaître à l'avance le nombre de catégories existantes ?

Voici ma requête qui sert à afficher les catégories :
$query = "SELECT id, categorie, sexe, lastname"
  . "\n FROM #__classement_cat";
	
if ($sexe != '') {
  $query.= "\n WHERE sexe ='" . $sexe . "'";
  }
	
$query.= "\n ORDER BY age_min ASC, sexe DESC";
	
$database->setQuery( $query );
$catlist = $database->loadObjectList();
Pour compliquer l'histoire, j'ajoute 2 catégories ... je vais essayé de faire un petit schéma :
$newcatlist = array(
1 ---- Hommes
2 ---- Femmes

foreach ($catlist as $categorie) {
// affichage des différentes catégories
}
)
Dans chacune des catégories, il y aura un autre tableau avec les 3 premiers de chaque catégorie ... ???

Quelqu'un pourrait-il me venir en aide ?

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Mammouth du PHP | 545 Messages

12 nov. 2007, 00:52

Je me suis un peu essayé à l'exercice sans vraiment essayé de voir ce que cela donne dans mes pages ... si je fais ce qui suit, suis-je dans le bon ?
$categorie['hommes'][0]= array()
$categorie['hommes'][1]= array()
$categorie['hommes'][2]= array()
$categorie['femmes'][0]= array()
$categorie['femmes'][1]= array()
$categorie['femmes'][2]= array()

foreach ($catlist as $cat) {
	$categorie[$cat->categorie][0]= array()
	$categorie[$cat->categorie][1]= array()
	$categorie[$cat->categorie][2]= array()
	}

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Mammouth du PHP | 545 Messages

12 nov. 2007, 12:24

J'ai pas mal bossé mais avec en me limitant à mes connaissances ... voici le résultat que je souhaite améliorer (sélectionner dans les liste de choix l'année '2004' et le classement 'poduim').
Vous avez là une liste de tous les podiums disponibles que j'obtiens avec la requête:
$query = "SELECT id, categorie, sexe, lastname"
	. "\n FROM #__classement_cat"
	. "\n ORDER BY age_min ASC, sexe DESC";
	
$database->setQuery( $query );
$catlist = $database->loadObjectList();
+ Hommes + Dames

Où cela me pose problème, c'est que je me sens obligé de répéter mon code HTML pour arriver à mes fins ... à voir ici (pour ne pas trop chargé cette page)

J'ai peut-être oublié de vous montrer le tableau que j'ai dû créer pour créer faire la liste du podium 'hommes' (à voir ici)

Vous en conviendrez que si je dois faire cela pour chaque catégorie cela risque de prendre pas mal de lignes inutiles et j'ai pensé que je pouvais trouvé, ici, un coup de main pour créer un système plus light que ce que je suis capable de faire !

D'avance merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!