Manuels
Divers
Classer un résultat par catégorie !
Salut,
J'aimerais afficher une liste de joueurs mais par poste ! Pour l'instant j'arrive à afficher la liste des joueurs comme ça :
Gardien => Bosmel Thomas
Gardien => Perquis Damien
Gardien => Thébaux Alexis
Défenseur => Barzola Pablo
Défenseur => Heurtaux Thomas
Défenseur => Inez Romain
Défenseur => Leca Grégory
Mais moi j'aimerais afficher le résultat en classant par type de poste (gardien, défenseur, milieu, attaquant) de cette façon :
Gardiens
Bosmel Thomas
Perquis Damien
Thébaux Alexis
Défenseurs
Barzola Pablo
Heurtaux Thomas
Inez Romain
Leca Grégory
J'ai un tableau php des postes :
$poste = array(1 =>'Gardiens','Défenseurs','Milieux','Attaquants');
Ma requête sql :
J'aimerais afficher une liste de joueurs mais par poste ! Pour l'instant j'arrive à afficher la liste des joueurs comme ça :
Gardien => Bosmel Thomas
Gardien => Perquis Damien
Gardien => Thébaux Alexis
Défenseur => Barzola Pablo
Défenseur => Heurtaux Thomas
Défenseur => Inez Romain
Défenseur => Leca Grégory
Mais moi j'aimerais afficher le résultat en classant par type de poste (gardien, défenseur, milieu, attaquant) de cette façon :
Gardiens
Bosmel Thomas
Perquis Damien
Thébaux Alexis
Défenseurs
Barzola Pablo
Heurtaux Thomas
Inez Romain
Leca Grégory
J'ai un tableau php des postes :
$poste = array(1 =>'Gardiens','Défenseurs','Milieux','Attaquants');
Ma requête sql :
- $req = mysql_query("SELECT effectif.idjoueur,effectif.num,effectif.nom,effectif.prenom,effectif.arrivee,effectif.poste,saisons.idsaison,saisons.nom AS saison
- FROM effectif,saisons,saisons_joueurs
- WHERE effectif.idjoueur = saisons_joueurs.idjoueur AND saisons_joueurs.idsaison = saisons.idsaison AND saisons.idsaison = '".(int)$_GET['idsaison']."' ORDER BY effectif.poste,effectif.nom");
- $last_post='';
- while($row = mysql_fetch_array($req))
- {
- if($last_post!=$row['poste']){
- $categorie = $poste{$row['poste']}.'<br />'; // ajout ligne nom catégorie
- }
- else {
- $categorie = '<br />'; // sinon rien
- }
- echo $categorie;
- echo ' => '.$row['nom'].' '.$row['prenom'].'<br />';
- }
dans la table "effectif" il y a le champ "poste" du joueur :
poste 1 = gardien
poste 2 = défenseur
poste 3 = milieu
poste 4 = attaquant
A chaque passage dans la boucle il faut vérifier si le poste a changé par rapport à la ligne d'avant et si c'est le cas il faut créer une ligne du nom du poste sinon rien. Facile à dire mais dans la pratique... :-x
poste 1 = gardien
poste 2 = défenseur
poste 3 = milieu
poste 4 = attaquant
A chaque passage dans la boucle il faut vérifier si le poste a changé par rapport à la ligne d'avant et si c'est le cas il faut créer une ligne du nom du poste sinon rien. Facile à dire mais dans la pratique... :-x
Tu étais bien parti avec ton code.
Il faut juste modifier la valeur de $last_post en lui donnant la valeur de $row['poste'] lorsque que ces deux valeurs sont différentes.
Il faut juste modifier la valeur de $last_post en lui donnant la valeur de $row['poste'] lorsque que ces deux valeurs sont différentes.
oua j'ai réussi merci la globule 
c'était tout bête ! j'ai honte d'avoir demandé pour ça
- $last_post='';
- while($row = mysql_fetch_array($req))
- {
- if($row['poste']!=$last_post){
- $cat = '<font color="red">'.$poste{$row['poste']}.'</font><br />'; // ajout ligne nom catégorie
- $last_post = $row['poste'];
- }
- else {
- $cat = ''; // sinon rien
- }
- echo $cat;
- echo ' => '.$row['nom'].$row['prenom'].'<br />';
c'était tout bête ! j'ai honte d'avoir demandé pour ça
Accès rapide :
Remonter 

