Bonjour à tous,
Je voudrais créer un tableau ($rows) avec le nom de l'alliance. Comme ça je peux facilement éxecuté le code suivant
Code PHP :
<?php echo $rows[$alliance_id];?>
J'ai trouvé cette solution mais elle me parait tellement bizarre...
Merci JLOUIS
Code PHP :
$reponse4 = mysql_cquery('SELECT Nom FROM alliance');
$i=0;
while ($donnees2 = mysql_fetch_array($reponse4) )
{
$rows[$i]=$donnees2['Nom'];
$i=$i+1;
}
Je ne comprends pas bien l'intérêt de faire ça. Pourquoi ne pas boucler directement sur le jeu de résultat renvoyé par te requête ?
Qu'est-ce que tu veux, au final, sur ta page ?
Sephi-Chan
Sephi-Chan a écrit :Je ne comprends pas bien l'intérêt de faire ça. Pourquoi ne pas boucler directement sur le jeu de résultat renvoyé par te requête ?
Qu'est-ce que tu veux, au final, sur ta page ?
Sephi-Chan
J'ai une table joueur qui comprend:
nom, prénom, id Alliace...
une table aliance qui comprend:
Id, nom,...
Je veux au final une page connecté qui comporte un tableau avec X lignes. Qui donne le nom du joueur, prénom, Nom de l'alliance.
Il me semble qu'il est plus facile d'avoir un tableau et de faire un simple echo avec l'id de l'alliance en référence.
Merci
Code PHP :
<td><a href="profil.php?id=<?php echo "$log"?>"><?php echo strtoupper($nom_joueur); echo" $prenom_joueur";?></a></td>
<td align="center"><?php echo "$lvl_joueur"?></td>
<td>
<a href="profil_guilde.php?id=<?php echo "$alliance_id"?>"><?php echo $rows[$alliance_id];?></a>
</td>
Voici une partie de mon code html / php
Et bien, il te suffit de faire :
Code :
SELECT J.nom, J.prenom, IF(A.nom IS NULL, '/', A.nom) as nom_alliance
FROM joueurs J
LEFT JOIN alliances A
ON A.id = J.alliance
Adapte ça a tes noms de tables et ça marchera sans problème. Tes champs s'appelleront nom et prenom pour le joueur et nom_alliance pour l'alliance. Si un joueur a une alliance, nom_alliance contiendra ce nom, sinon il contiendra un slash.
Sephi-Chan
Ce que je veux faire c'est ceci:
1. Alliance A
2. Alliance B
3. Les meilleurs
<?php echo $rows[$alliance_id];?>
==> <?php echo $rows[3];?>
Qui m'affichera alors: Les meilleurs
Car je peux avoir la dernière personne connecté est dans l'alliance 1
Avant dernier 3
etc...
Sephi-Chan a écrit :Et bien, il te suffit de faire :
Code :
SELECT J.nom, J.prenom, IF(A.nom IS NULL, '/', A.nom) as nom_alliance
FROM joueurs J
LEFT JOIN alliances A
ON A.id = J.alliance
Adapte ça a tes noms de tables et ça marchera sans problème. Tes champs s'appelleront nom et prenom pour le joueur et nom_alliance pour l'alliance. Si un joueur a une alliance, nom_alliance contiendra ce nom, sinon il contiendra un slash.
Sephi-Chan
Nickel merci je teste ça ;-)
Il va falloir que tu adaptes un peu ta requête pour que tes noms correspondent.
Ensuite, voilà de quoi avoir quelque chose de vraiment sexy :
Code PHP :
<?php
$ressource = mysql_query(
"SELECT J.nom
J.prenom
IF(A.nom IS NULL, '/', A.nom) AS alliance
FROM joueurs J
LEFT
JOIN alliances A
ON A.id = J.alliance;"
);
?>
<table><caption>Liste des joueurs</caption>
<thead>
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Alliance</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Alliance</th>
</tr>
</tfoot>
<tbody>
<?php
while($donnee = mysql_fetch_assoc($ressource)){
?>
<tr>
<td><?php echo $donnee['nom']; ?></td>
<td><?php echo $donnee['prenom']; ?></td>
<td><?php echo $donnee['alliance']; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
Sephi-Chan
Un tout grand merci pour cette optimisation ;-)