Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Optimisation du code ?
Auteur Message
jldbaro Hors ligne
Membre

Messages : 23
Inscription : Oct 2007
Réputation : 0
Message : #1
[Résolu] Optimisation du code ?
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;


---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
(Ce message a été modifié le : 08-23-2008 12:45 PM par Sephi-Chan.)
08-16-2008 08:59 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #2
RE: optimisation code?
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

www.sephi-chan.fr
08-16-2008 09:14 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Asther Hors ligne
Membre

Messages : 55
Inscription : Aug 2008
Réputation : 0
Message : #3
RE: optimisation code?
Salut,

un :

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

ne t'irais pas?
08-16-2008 09:27 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
jldbaro Hors ligne
Membre

Messages : 23
Inscription : Oct 2007
Réputation : 0
Message : #4
RE: optimisation code?
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

---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
(Ce message a été modifié le : 08-16-2008 09:51 PM par jldbaro.)
08-16-2008 09:50 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #5
RE: optimisation code?
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

www.sephi-chan.fr
(Ce message a été modifié le : 08-16-2008 10:08 PM par Sephi-Chan.)
08-16-2008 09:59 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Asther Hors ligne
Membre

Messages : 55
Inscription : Aug 2008
Réputation : 0
Message : #6
RE: optimisation code?
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'];

08-16-2008 10:00 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
jldbaro Hors ligne
Membre

Messages : 23
Inscription : Oct 2007
Réputation : 0
Message : #7
RE: optimisation code?
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...

---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
(Ce message a été modifié le : 08-16-2008 10:05 PM par jldbaro.)
08-16-2008 10:03 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
jldbaro Hors ligne
Membre

Messages : 23
Inscription : Oct 2007
Réputation : 0
Message : #8
RE: optimisation code?
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 ;-)

---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
08-16-2008 10:07 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #9
RE: optimisation code?
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

www.sephi-chan.fr
08-16-2008 10:09 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
jldbaro Hors ligne
Membre

Messages : 23
Inscription : Oct 2007
Réputation : 0
Message : #10
[resolu] RE: optimisation code?
Un tout grand merci pour cette optimisation ;-)

---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
08-16-2008 10:57 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse 



ContactJeuWeb (JeuPHP) - Crée ton jeu par navigateurRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS