Page 1 sur 1

Faire un classement dans un tableau

Posté : 08 juil. 2005, 13:27
par Loke
Bonjour j'ai une liste de participants pour un rassemblement.
Des infos sont demandées aux participants (nom, prenom, team...)
Je voudrais savoir comment faire pour que ceux ci soient classés par team.
Voici mon code de l'insertion des données :
echo "<table>"; 
echo "<tr><td width=\"90\"><strong>Pseudo</strong></td><td width=\"90\"><strong>Prenom</strong></td><td width=\"90\"><strong>Equipe</strong></td><td width=\"90\"><strong>Tournoi CS</strong></td><td width=\"90\"><strong>Tournoi W3</strong></td><td width=\"90\"><strong>Tournoi UT</strong></td></tr>"; 
while( $contenu = mysql_fetch_array ($req)) { 
   echo "<tr>"; 
   echo "<td>".$contenu[pseudo]."</td>"; 
   echo "<td>".$contenu[prenom]."</td>"; 
   echo "<td>".$contenu[equipe]."</td>"; 

if($contenu["counter"] == 'Y') 
{    
print "<td><img src='http://scipately.free.fr/images/icons/Y.gif'</td>"; 
} 
else{ 
print "<td><img src='http://scipately.free.fr/images/icons/N.gif'</td>"; 
} 

if($contenu["warcraft"] == 'Y') 
{    
print "<td><img src='http://scipately.free.fr/images/icons/Y.gif'</td>"; 
} 
else{ 
print "<td><img src='http://scipately.free.fr/images/icons/N.gif'</td>"; 
} 

if($contenu["unreal"] == 'Y') 
{    
print "<td><img src='http://scipately.free.fr/images/icons/Y.gif'</td>"; 
} 
else{ 
print "<td><img src='http://scipately.free.fr/images/icons/N.gif'</td>"; 
}  
   
   echo "</tr>"; 
} 
echo "</table>";  

//je referme la connexion
mysql_close();

//----------------- FIN --------------------------------
?>          

Posté : 08 juil. 2005, 13:30
par castelli
elle est ou ta requete ?

tu met order bye team dans la requete est sa devrait etre bon enfin je pense

Posté : 08 juil. 2005, 13:31
par Loke
Excuse la voila :
//définition & execution de la requete
$req = mysql_query("SELECT pseudo,prenom,nom,ville,equipe,web,mail,counter,warcraft,unreal from tr_pz2");
Je l'intègre comment dedans??? je sais pas faire désolé :) je ne demande qu'à savoir lol

Posté : 08 juil. 2005, 13:32
par guilt92

Code : Tout sélectionner

$req = mysql_query("SELECT pseudo,prenom,nom,ville,equipe,web,mail,counter,warcraft,unreal from tr_pz2 ORDER by equipe");
Si jamais la il y a tous les champs de la base tu peux simplement faire :

Code : Tout sélectionner

$req = mysql_query("SELECT * from tr_pz2 ORDER by equipe");
.. c plus joli non ? :wink:

par contre c'est étonnant que tu fasses un my_fetch_array et que après tu utilises le nom des variables le code fonctionne bien à part l'ordre ?

Posté : 08 juil. 2005, 13:34
par castelli
euh je pense a sa :

//définition & execution de la requete
$req = mysql_query("SELECT pseudo,prenom,nom,ville,equipe,web,mail,counter,warcraft,unreal from tr_pz2 ORDER BY team");
ps je serait toi je decomposerai la requete en deux c'est plus comprehensible a mon avis :wink:

Posté : 08 juil. 2005, 13:34
par Loke
Vi tout marche bien...
Merci beaucoup ca marche...

Posté : 08 juil. 2005, 13:36
par castelli
Rrr c'etait a moi de repondre guilt92 :)
lol

bon bah deu reponse c'est toujours mieu qu'une

(c'est exactement ske vous avez dit dans un poste ou vous m'aidiez a votre tour ;) lol )

Posté : 08 juil. 2005, 13:38
par guilt92
lol désolé mais j'étais en train de répondre et c'est après avoir validé que j ai vu ta réponse...

Sans rancune !!! :wink:

Posté : 08 juil. 2005, 23:19
par Cyrano
Accessoirement, tu pourrais avantageusement éclaircir ton code en séparant le PHP du HTML, tu verrais que tes balises images ne sont pas fermées par exemple:
<table>
  <tr>
    <td width="90"><strong>Pseudo</strong></td>
    <td width="90"><strong>Prenom</strong></td>
    <td width="90"><strong>Equipe</strong></td>
    <td width="90"><strong>Tournoi CS</strong></td>
    <td width="90"><strong>Tournoi W3</strong></td>
    <td width="90"><strong>Tournoi UT</strong></td>
  </tr>
<?php
while( $contenu = mysql_fetch_array ($req))
{
    ?>
  <tr>
    <td><?php echo($contenu[pseudo]); ?></td>
    <td><?php echo($contenu[prenom]); ?></td>
    <td><?php echo($contenu[equipe]); ?></td>
<?
    if($contenu["counter"] == 'Y')
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/Y.gif"></td>
<?php
    }
    else
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/N.gif"></td>
<?php
    }

    if($contenu["warcraft"] == 'Y')
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/Y.gif"></td>
<?php
    }
    else
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/N.gif"></td>
<?php
    }

    if($contenu["unreal"] == 'Y')
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/Y.gif"></td>
<?php
    }
    else
    {
?>
    <td><img src="http://scipately.free.fr/images/icons/N.gif"></td>
<?php
    }
    ?>
  </tr>
    <?php
}
?>
</table>
<?php
//je referme la connexion
mysql_close();

//----------------- FIN --------------------------------
?>

Posté : 09 juil. 2005, 10:57
par pjl

Code : Tout sélectionner

$req = mysql_query("SELECT pseudo,prenom,nom,ville,equipe,web,mail,counter,warcraft,unreal from tr_pz2 ORDER by equipe");
Si jamais la il y a tous les champs de la base tu peux simplement faire :

Code : Tout sélectionner

$req = mysql_query("SELECT * from tr_pz2 ORDER by equipe");
.. c plus joli non ? :wink:

par contre c'est étonnant que tu fasses un my_fetch_array et que après tu utilises le nom des variables le code fonctionne bien à part l'ordre ?
SELECT * plus joli !!!!!!!!!!!!!!!!!!!
C'est surtout une solution de faignasse.

Posté : 09 juil. 2005, 11:04
par Cyrano
SELECT * plus joli !!!!!!!!!!!!!!!!!!!
C'est surtout une solution de faignasse.
Je dirais également que c'est une solution qui n'a rien de pratique.

Lorsque j'écris mon code pour placer les différents éléments récupérés par exemple avec mysql_fetch_array(), je trouve personnellement infiniment plus pratique de lire directement dans la requête quelques lignes plus haut le nom des champs appelés plutôt que de basculer vers phpMyAdmin ou n'importe quel utilitaire de gestion de base de données pour vérifier le nom exact du champ que je veux utiliser. Le SELECT * est pratique, je n'en disconviens pas... à très courte terme. À l'usage, c'est une perte de temps.