JeuWeb - Crée ton jeu par navigateur
[Résolu] Optimisation du code ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Optimisation du code ? (/showthread.php?tid=2908)

Pages : 1 2


[Résolu] Optimisation du code ? - jldbaro - 16-08-2008

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 :
<?php 
$reponse4
= mysql_cquery('SELECT Nom FROM alliance');

$i=0;
while (
$donnees2 = mysql_fetch_array($reponse4) )
{
$rows[$i]=$donnees2['Nom'];
$i=$i+1;
}



RE: optimisation code? - Sephi-Chan - 16-08-2008

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


RE: optimisation code? - Asther - 16-08-2008

Salut,

un :

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

ne t'irais pas?


RE: optimisation code? - jldbaro - 16-08-2008




RE: optimisation code? - Sephi-Chan - 16-08-2008

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: optimisation code? - Asther - 16-08-2008

Re,

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

Code PHP :
<?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'];
}



RE: optimisation code? - jldbaro - 16-08-2008

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


RE: optimisation code? - jldbaro - 16-08-2008

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 ;-)


RE: optimisation code? - Sephi-Chan - 16-08-2008




[resolu] RE: optimisation code? - jldbaro - 16-08-2008

Un tout grand merci pour cette optimisation ;-)