Page 1 sur 1

Construire un tableau de type array()

Posté : 11 nov. 2007, 23:55
par Sebe
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

Posté : 12 nov. 2007, 00:52
par Sebe
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

Posté : 12 nov. 2007, 12:24
par Sebe
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