PhP / SQL

Résolu
Mattht Messages postés 4 Statut Membre -  
Mattht Messages postés 4 Statut Membre -
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. croy Messages postés 457 Statut Membre 114
     
    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é ?
    0
  2. Mattht Messages postés 4 Statut Membre
     
    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..
    0
  3. Utilisateur anonyme
     
    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.
    0
  4. Mattht Messages postés 4 Statut Membre
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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 :)
    0
  7. Mattht Messages postés 4 Statut Membre
     
    Merci beaucoup! Je ne connaissait pas l'existence du switch :)
    0