JeuWeb - Crée ton jeu par navigateur
Problème de Requetes - 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 : Problème de Requetes (/showthread.php?tid=413)



Problème de Requetes - Bazooka - 09-01-2011

Bonjours messieurs et les dames,

Je me suis inscrits sur le site pour avoir une aide.
Mon problème est le suivant:
Je n'arrive pas a instaler 2 base(2 table) dans la requete j'ai essayer tout les choses inémagiable pendant 5h .. sans succès.

Le problèmes est que Je veux aller chercher tout de ma table players vérifié le niveaux, la ville et vérifier dans la table test(la table des diplomaties du jeu) Si je joueur affiche son gang est dans la section type='allier' on affiche en vert le tag du gang , rouge ennemi et bleu pour pna(Pacte de non-agression).

Mais voila que il veux rien savoir de faire la requete dans la table test.
Je vous montres mon code et ou j'ai laisser .. je suis en se moment en train de virer fous AIDER MOI SVP !!.

<?php
include("templates/private_header.php");
echo "<div class=\"contenu\">
<div class=\"contenu_bloc\">
<h1>Infirmerie</h1>";




$query = $db->query("select `type`, `TAG`, `enemyid`, `enemy_id` from `test` where type='pna' and `enemy_id`=?", array($player->tag));
$test['at2'] = $query = $db->query("select `type`, `TAG`, `enemyid`, `enemy_id` from `test` where type='pna' and `enemy_id`=?", array($player->tag));

$query = $db->query("select `type`, `TAG`, `enemyid`, `enemy_id` from `test` where type='enemi' and `enemy_id`=?", array($player->tag));
$test['at3'] = $query = $db->query("select `type`, `TAG`, `enemyid`, `enemy_id` from `test` where type='enemi' and `enemy_id`=?", array($player->tag));
$query = $db->execute("select * from `players` where `level`=? ", array($player->level));


if ($query->recordcount() > 0)
{
echo "<table class=\"tableau\">\n";
echo "<tr><th width=\"20%\">Joueur</th><th width=\"15%\">Gang</th><th width=\"15%\">Contrat</th><th width=\"15%\">Attaque</a></th></tr><tr>\n";
echo "";

while ($log = $query->fetchrow())
{
if ($log['tag'] == $player->tag) {echo "<td width=\"20%\"><a href=gang_profile.php?id=" . $log['gang'] . "><font color=green>" . $log['tag'] . "</font></a></td>\n";}
elseif ($log['tag'] == $test['at2']) {echo "<td width=\"20%\"><a href=gang_profile.php?id=" . $log['gang'] . "><font color=blue>" . $log['tag'] . "</font></a></td>\n";}
elseif ($log['tag'] == $test['at3']) {echo "<td width=\"20%\"><p class=\"sm\"><a href=gang_profile.php?id=" . $log['gang'] . "><font color=red>" . $log['tag'] . "</p></font></a></td>\n";}
elseif ($log['tag'] == $test->de3) {echo "<td width=\"20%\"><a href=gang_profile.php?id=" . $log['gang'] . "><font color=red>" . $log['tag'] . "</font></a></td>\n";}

elseif ($log['gang'] == 0) {echo "<td width=\"10%\">Sans</td>\n";}
else {echo "<td width=\"10%\"> <a href=gang_profile.php?id=" . $log['gang'] . ">" . $log['tag'] . "</a></td>\n"; }
echo "<td width=\"20%\"><p class=\"sm\"><a href=\"profile.php?id=" . $log['username'] . "\">" . $log['username'] . "</a></p></td>\n";
echo "<td width=\"15%\">" . numberformat($log['contrat'],0,'.',' ',3) . "</td>\n";
echo "<td width=\"15%\"><a href=\"battle2.php?act=attack&username=" . $log['username'] . "\">Attaquer</a></td></tr>\n";

}
}

else //Display error message
{
echo "<tr>\n";
echo "<td colspan=\"3\">Pas de joueur trouver. Change les crit&egraveres !</td>\n";
echo "</tr>\n";
}
echo "</table>\n";



include("templates/private_footer.php");
break;
}
}

else {
include("templates/private_header1.php");
echo "Tu ne peux pas aller ici !<br />";
echo "Sois tu es cacher, sois tu es dans une autres citer ou en prison !";
include("templates/private_footer.php");}
?>

et la structure de la table test
Field Type Collation Attributes Null Default Extra Action
id int(11) No None AUTO_INCREMENT
(Mon gang) TAG text latin1_general_ci No None
(Le type) type enum('allier','enemi','pna') latin1_general_ci No None
(enemy tag) enemy_id text latin1_general_ci No None
(mon id gang) idgang int(11) No None
(enemy id gang) enemyid int(11) No None


RE: Problème de Requetes - php_addict - 09-01-2011

salut

je ne comprends rien à ce que tu dis, désolé ce n'est pas faute d'avoir essayé...

par contre pour plus de lisibilité de ton code tu devrais faire ceci:


$pdo = new PDO('mysql:dbname=mabase;host=127.0.0.1', 'root', 'password'); //connexion
$result = $pdo->query("SELECT id FROM joueur WHERE pseudo='moi'"); // resultat de ta requete

et non pas


$query = $db->query("select `type`, `TAG`, `enemyid`, `enemy_id` from `test` where type='enemi' and `enemy_id`=?", array($player->tag));

le nom de tes variables ne correspondent pas a ce que fait ton code

inspire toi de http://www.jeuweb.org/showthread.php?tid=6245

ce n'est qu'un détails...


RE: Problème de Requetes - Myrina - 09-01-2011

elseif ($log['tag'] == $test['at2'])
l'égalité ne peut jamais fonctionné car $test['at2'] est un array (idem pour $test['at3'])

Ensuite, ce n'est pas propre d'affecter 5 fois de suite une valeur à $query sans forcement l'utiliser; il faut utiliser des variables différentes et si possible parlantes.


RE: Problème de Requetes - Viciousity - 09-01-2011

On ne peut pas comparrer des array en php ?

Si non, normalement en php tu peux utiliser:
array_diff_assoc(array1,array2)
Cette fonction permet de retourner les différences entre deux arrays.
Du coup, pour le code ci-dessus :

// Create arrays.
array1 = ['cerise', 'pomme', 'abricot']
array1 = ['cerise', 'carrotte', 'abricot']
// Arrays comparison.
array_diff_assoc(array1,array2)
=> Array ( [2] => 'pomme' )
Du coup si la fonction retourne vide, tes deux array sont identiques, si ce n'est pas le cas, elles ne le sont pas ...

Fin la méthode n'est pas des plus élégante, mais elle marche ^^


RE: Problème de Requetes - Bazooka - 09-01-2011

Bonjour merci de vos réponse,


Voila Pour le champ je n'est pas besion de connection a la data sa se fais auto ..

Les champ il son la pour faire verification exemple le joueur que tu regarde ton tag , son id de gang est-til dans les alliance pna ou ennemie de ton gang ?

ses plutot sa en fais mais j'arrive pas Sad


RE: Problème de Requetes - NicoMSEvent - 10-01-2011

Bonjour, ça nous fait plaisir d'aider les nouveaux, mais ce qui nous plait encore plus, c'est que les nouveaux se présentent dans la section appropriée Smile


RE: Problème de Requetes - srm - 10-01-2011

Moi perso je m'en moque Wink


RE: Problème de Requetes - NicoMSEvent - 10-01-2011

Tu te moques d'aider les nouveaux? Pas gentil ça! [joke inside! :p ]


RE: Problème de Requetes - Bazooka - 12-01-2011

Heum ok .. , bien ok bah laisser faire alors fermer topic ++

Ps: merci myriam je vais essayer cela