JeuWeb - Crée ton jeu par navigateur

Version complète : [Résolu] Optimisation du code ?
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2
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
Salut,

un :

Code PHP :
$reponse4 mysql_cquery('SELECT id,Nom FROM alliance WHERE id='$reponse4' AND nom = '$nom''); 

ne t'irais pas?
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
Re,

Citation :J'ai une table joueur qui comprend: nom, prénom, id Alliace...

Code PHP :
$requette "SELECT nom,prenom,id,alliance FROM ta_table WHERE pseudo = '$pseudo'";
$sql mysql_query($requette);
$result mysql_fetch_assoc($sql);

while (
$row mysql_fetch_assoc($result)) {
    echo 
$row['nom'];
    echo 
$row['prenom'];
    echo 
$row['id'];
    echo 
$row['alliance'];

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. 16

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 ;-)
Pages : 1 2
URLs de référence