PhP / SQL

Résolu
Bonjour, à tous/toues!

Je cherche a extraire des informations dans ma base de données sur mon site... Jusqu'à là
aucune probleme!

Voici le code:

<-------------------------------------------------------------------------------------------->

<?php

include('identifiant.php');
$cnx= mysql_connect($host,$utilisateur,$mdp);
$idbase= mysql_select_db('characters');
$requete="SELECT name AS 'Personnages', race AS 'Race', class AS 'Classe' FROM characters WHERE online = 0 ORDER BY name";

$result=mysql_query($requete,$cnx);
if(!$result)
{
echo "Lecture impossible";
}
else
{
$nbcol=mysql_num_fields($result);
$nbart=mysql_num_rows($result);

echo "<h3>Il y a $nbart personnages online:</h3>";

//Affichage titres
echo "<center><fieldset id=staff><legend>List</legend><table width=200px><tr>";
for($i=0;$i<$nbcol;$i++)
{
echo "<th class=th>", mysql_field_name($result,$i),"</th>";
}
echo "</tr>";

//Affichage valeur
for($i=0;$i<$nbart;$i++)
{
// $donnees = mysql_fetch_array($result);
$ligne=mysql_fetch_row($result);
echo "<tr>";
for($j=0;$j<$nbcol;$j++)
{

echo "<td><center>",$ligne[$j],"</center></td>";
}
echo "</tr>";
}
echo "</table></center>";
mysql_free_result($result);
}
?>
</fieldset>

<----------------------------------------------------------------------------------------------------------->

Voici mon probleme: Les valeurs 'Race' et 'classe' sont stocker sous un forme numérique.
(1 = une race tandis que 2 une autre... par exemple)
Comment faire en sorte qu'au lieu de me donner ces nombres... Il me ressorte les vrais race et
classe des personnage?!

J'ai penser au $donnees = mysql_fetch_array($requete);
$race = $donnees['race'];
Mais je n'arrive pas a le faire marcher correctement :'(

Quelqu'un aurait la réponse?! Merci d'avance!
Configuration: Windows Vista
Firefox 3.0

6 réponses

  1. Il faut préciser ta question : qu'est-ce-que la "vraie race" ? est-ce un libellé ? dans ce cas où sont stockés ces libellé ?
    1. En gros je voudrai que mon script PhP dise: If Race=1 display ElF
      
      Pour le moment ca donne une list de tout les personnage enligne sur le serveur dans un tableau du style:
      
      Personnages                 Race                   Classe
        Zorkka                      5                        2  
        "Un autre nom"             9                         6
      etc...
      
      
      Le but serai donc de définir moi meme ces numero pour que les 5 correspondent a un Orc par exemple et donc donner:
      
      
      Personnages                  Race                      Classe
        Zorkka                    Orc                       Chasseur 
        "Un autre nom"             Elf                       Guerrier
      etc..
      1. Salut,
        je comprends pas, pourquoi tu les stockes sous forme de nombre si tu veux qu'ils ressortent sous forme de texte? A ce compte là enregistre directement dans ta base de données une chaîne de caractères au lieu d'un nombre.
        1. Le probleme est que le serveur du jeu marche comme ça... Je n'ai malheureusement pas (et de loin) la compétence a le modifier...

          Je dois donc me tourner vers le PhP pour essayé de modifier les valeurs quand il sont sorti de la base de données.
          1. Ok, donc tu n'as qu'à te tourner vers un switch ou des if pour afficher la race correcte et la classe correcte.
            while ($donnees = mysql_fetch_array($result) )
            {
                    switch($donnees['race']){
                        case 1:
                        echo "Mort-Vivant";
                        break;
                        case 2:
                        echo "Tauren";
                        break;
                        case 3:
                        echo "Orc";
                        break;
                   }
                   switch($donnees['classe']){
                        case 1:
                        echo "Mage";
                        break;
                        case 2:
                        echo "Chasseur";
                        break;
                        case 3:
                        echo "Démoniste";
                        break;
                   }
            }

            Voilà le code, à toi de faire la mise en page et de changer les echo en fonction de ta base de données :)
            1. Merci beaucoup! Je ne connaissait pas l'existence du switch :)