IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Remplacement id par nom [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut Remplacement id par nom
    Bonjour à tous !

    Je reviens vous voir pour vous posez une petite question :

    Je suis en train de créer un site de stats !

    J'ai déjà tout le système pour que les données soit placés dans la base SQL, et j'ai créé un tableau avec les données joueurs : (les 10 premiers joueurs dans l'ordre)

    Cette base contient 2 tables : alliances et players

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <html>
    <head>
    <title>GrepolisToolkit Utilities ALPHA</title>
     <meta charset="utf-8" />
      <link rel="stylesheet" href="http://staff.grepolistoolkit.fr.nf/style.css" />
      </head>
    <body>
    <p>
         <img src="http://staff.grepolistoolkit.fr.nf/images/banfin.png" />
    </p>
     
    <?
    // information pour la connection à le DB
    XXXX
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT id, name, alliance_id, points, rank, towns FROM players ORDER BY rank ASC limit 0,10';
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
     
        // debut du tableau
        echo '<table bgcolor="#FFFFFF">'."\n";
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
            echo '<tr>';
            echo '<td bgcolor="#669999"><b><u>Classement</u></b></td>' ;
            echo '<td bgcolor="#669999"><b><u>Pseudo</u></b></td>';
          echo '<td bgcolor="#669999"><b><u>Alliance</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Points</u></b></td>';
    		echo '<td bgcolor="#669999"><b><u>Villes</u></b></td>';
          echo '</tr>'."\n";
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
            echo '<td bgcolor="#CCCCCC">'.$row["rank"].'</td>';
          echo '<td bgcolor="#CCCCCC">'.$row["name"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["alliance_id"].'</td>';
          echo '<td bgcolor="#CCCCCC">'.$row["points"].'</td>';
    	  echo '<td bgcolor="#CCCCCC">'.$row["towns"].'</td>';
          echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
    // on libère le résultat
    mysql_free_result($result);
     
     
    ?>
    </body>
    </html>
    Je voudrais en fait que l'id de l'alliance qui s'affiche dans mon tableau soit remplacé par son nom (contenu dans la table alliance) !

    En gros, qu'il prenne en compte l'id, recherche dans la base alliance et l'affiche !!

    Merci d'avance !!

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929

  3. #3
    Membre éclairé Avatar de rinuom99
    Étudiant
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Par défaut
    une simple jointure entre les deux tables fait l'affaire.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    Merci pour votre réponse ! Quelqu'un pourrait-t-il me donner un exemple dans mon cas ?

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT p.id AS player_id, 
    	p.name AS player_name, 
    	a.id AS alliance_id, 
    	a.name AS alliance_name
    	p.points, 
    	p.rank, 
    	p.towns 
    FROM players p
    INNER JOIN alliance a ON a.id = p.alliance_id 
    ORDER BY rank ASC 
    LIMIT 0,10
    Tu indentes ton code HTML et/ou PHP alors prend la bonne habitude d'indenter aussi tes requêtes, elles sont ainsi plus lisibles.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    Sauf erreur de ma part, il me donne cette erreur là :

    Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'p.points, p.rank, p.towns FROM players p INNER JOIN alliance a ON a.id = p.' at line 5

  7. #7
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Citation Envoyé par MRJBGO Voir le message
    Sauf erreur de ma part, il me donne cette erreur là :
    Il manque une virgule, tu aurais dû le remarquer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT p.id AS player_id, 
    	p.name AS player_name, 
    	a.id AS alliance_id, 
    	a.name AS alliance_name,
    	p.points, 
    	p.rank, 
    	p.towns 
    FROM players p
    INNER JOIN alliance a ON (a.id = p.alliance_id)
    ORDER BY rank ASC 
    LIMIT 0,10

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Remplacer espaces par underscores dans noms de fichiers
    Par Ysae68 dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 28/08/2017, 16h56
  2. Remplacer localhost par le nom de domaine
    Par onesat dans le forum Apache
    Réponses: 1
    Dernier message: 08/03/2012, 09h25
  3. Email en MAPI, remplacer lien FILE:// par nom significatif
    Par DEMMAR dans le forum ODS et reporting
    Réponses: 6
    Dernier message: 12/07/2011, 17h15
  4. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27
  5. Delphi7 winxp pro renvoyer un TLabel connu par nom
    Par regis1_1 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/06/2003, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo