jldbaro
Membre
Messages : 23
Inscription : Oct 2007
Réputation : 0
|
[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 |
|
Sephi-Chan
Administrateur
      
Messages : 4,491
Inscription : Aug 2006
|
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 |
|
Asther
Membre
Messages : 55
Inscription : Aug 2008
Réputation : 0
|
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 |
|
jldbaro
Membre
Messages : 23
Inscription : Oct 2007
Réputation : 0
|
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 |
|
Sephi-Chan
Administrateur
      
Messages : 4,491
Inscription : Aug 2006
|
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 |
|
Asther
Membre
Messages : 55
Inscription : Aug 2008
Réputation : 0
|
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 |
|
jldbaro
Membre
Messages : 23
Inscription : Oct 2007
Réputation : 0
|
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 |
|
jldbaro
Membre
Messages : 23
Inscription : Oct 2007
Réputation : 0
|
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 |
|
Sephi-Chan
Administrateur
      
Messages : 4,491
Inscription : Aug 2006
|
RE: optimisation code?
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
www.sephi-chan.fr
|
|
| 08-16-2008 10:09 PM |
|
jldbaro
Membre
Messages : 23
Inscription : Oct 2007
Réputation : 0
|
[resolu] RE: optimisation code?
Un tout grand merci pour cette optimisation ;-)
---------------
JLOUIS
---------------
http://theapocalypsewar.com
Avancement 65%
|
|
| 08-16-2008 10:57 PM |
|