J'ai 6 tables: info_carte, the_personnage, grade_europe_e, grade_europe_o, grade_afrique, grade_pacifique. (enfin un peu plus, mais bon, ce sont celle qui nous intéresse ici ^^)
Table: info_carte
Colonne 1: theatre = contient le theatre d'opération (europe_e, europe_o, pacifique ou afrique)
Table: the_personnage
Colonne 1: id
Colonne 2: alliance (contient axe ou allie)
Colonne 3: nom
Colonne 4: compte
etc...
Colonne X: grade (contient un numéro: 1,2 etc...)
Table: grade_X (les 4 tables sont identiques mais ne possèdent pas le même remplissage)
Colonne 1: id
Colonne 2: axe (contient le nom des grades pour l'axe)
Colonne 3: allie (contient le nom des grades pour les allies)
Colonne 4: pc_requis
Donc le but de la manoeuvre, c'est d'afficher le grade du personnage. Grade qui n'aura pas le même nom suivant les théâtres d'opérations.
Je pense que dans ce cas, il faut une jointure (ma première... Ouais !) mais hélas, ça ne se passe pas comme je l'espérais... snif !
Voici la partie de code concernée (il est un peu réduit volontairement ):
Table: info_carte
Colonne 1: theatre = contient le theatre d'opération (europe_e, europe_o, pacifique ou afrique)
Table: the_personnage
Colonne 1: id
Colonne 2: alliance (contient axe ou allie)
Colonne 3: nom
Colonne 4: compte
etc...
Colonne X: grade (contient un numéro: 1,2 etc...)
Table: grade_X (les 4 tables sont identiques mais ne possèdent pas le même remplissage)
Colonne 1: id
Colonne 2: axe (contient le nom des grades pour l'axe)
Colonne 3: allie (contient le nom des grades pour les allies)
Colonne 4: pc_requis
Donc le but de la manoeuvre, c'est d'afficher le grade du personnage. Grade qui n'aura pas le même nom suivant les théâtres d'opérations.
Je pense que dans ce cas, il faut une jointure (ma première... Ouais !) mais hélas, ça ne se passe pas comme je l'espérais... snif !
Voici la partie de code concernée (il est un peu réduit volontairement ):
Code PHP :
<?php
$requete_info_carte = mysql_query("SELECT * FROM info_carte");
$info_carte = mysql_fetch_assoc($requete_info_carte);
$theatre = $info_carte['theatre'];
$requete_affichage_perso = mysql_query("SELECT the_personnage.*, grade_$theatre.id AS grade_id, grade_$theatre.axe,
grade_$theatre.allie FROM the_personnage INNER JOIN grade_$theatre ON the_personnage.grade = grade_id WHERE `compte`='$pseudo_joueur'");
$affichage_perso = mysql_fetch_assoc($requete_affichage_perso);
echo '<table>';
echo '<tr>';
echo '<th><img src=image/camps/'.$theatre.'/'.$affichage_perso['alliance'].'.gif></th>';
echo '<th>Nom</th>';
echo '<td> '.$affichage_perso['nom'].' </td>';
echo '<th>Grade</th>';
echo '<td> '.$affichage_perso['grade'].' </td>';
echo '</tr>';
echo '</table>';
Mon message d'erreur:
Citation :Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\documents and settings\hp_administrateur\mes documents\projet_aegis\jeu\interface_jeu\interface.php on line 37
Donc visiblement, le problème viendrait de:
Code PHP :
<?php
$affichage_perso = mysql_fetch_assoc($requete_affichage_perso);