Qqun voit un probleme dans ces lignes ?

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 20 oct. 2005 à 16:21
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 oct. 2005 à 08:47
Voici le probleme: il m affiche que le premier nom correspondant a un id et les suivant non!
Dans le tableau, j ai:
-toutes les id
-tous les recipients
-A seul nom d item (le premier)
$query "SELECT * FROM $table WHERE owner_id '$idperso' AND loc = '$recipient'";
$result = mysql_query($query) or die("Echec de la requête");

if (mysql_num_rows($result) == 0) { //si aucun resultat
echo "Aucune ligne trouvée, rien à afficher.";
exit; }

$indexe =0;

if($indexe == 0){
//creation tableau pilote
//tableau d affichage des parametres decrivant les items

echo "<TABLE border=1 cellpadding=0 cellspacing=0 style=border-width:1px;border-style:solid;border-color:navy>";
echo "<TD> id objet</TD>";
echo "<TD> objet</TD>";
echo "<TD> Recipient</TD>";
echo "</TR>";
$indexe =1; //le tableau est indexe
}
if($indexe==1){ //si tableau indexe
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$item = $row["item_id"]; //on recupere chaque champ dans une variable
$item2 = $row["loc"];
//on va rechercher le nom de l item dans les 3 tables ou ils sont contenu
$table="etcitem";
$query = "SELECT * FROM etcitem WHERE item_id='".$item."' ";
$result1 = mysql_query($query) or die("Echec de la requête");
if (mysql_num_rows($result) === 0) {
$query = "SELECT * FROM weapon WHERE item_id='".$item."' ";
$result2 = mysql_query($query) or die("Echec de la requête");
if (mysql_num_rows($result) === 0) {
$query = "SELECT * FROM armor WHERE item_id='".$item."' ";
$result3 = mysql_query($query) or die("Echec de la requête");
if (mysql_num_rows($result3) === 0){
$item1="pas de nom associé";
}
else {
$data = mysql_fetch_array($result3);
$item1 = $data['name'];
}
}
else{
$data = mysql_fetch_array($result2);
$item1 = $data['name'];
}
}
else{
$data = mysql_fetch_array($result1);
$item1 = $data['name'];
}
//ecriture de chaque parametre
echo "<TR class=tabnormal onmouseover=this.className='tabover' onmouseout=this.className='tabnormal'>";
echo "<TD>$item </TD>";
echo "<TD>$item1 </TD>";
echo "<TD>$item2 </TD>";
echo"</TR>";
}
}
}


-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 oct. 2005 à 16:49
Hello,

à mon sens, tu ne peux pas lancer une requête sur ta base, puis une deuxième, en espèrant garder les resultats de la 1ère...à moins d'être allé les chercher.
Et là tu ne vas pas les chercher. Tu fais 3 requêtes, tu les assignes à ta base (bref tu les exécutes), et après seulement tu vas cherchger les résultats. la seule requête existante est la dernière, c'est logique.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
20 oct. 2005 à 21:59
"f (mysql_num_rows($result) === 0) {

$query = "SELECT * FROM weapon WHERE item_id='".$item."' ";

$result2 = mysql_query($query) or die("Echec de la requête");

if (mysql_num_rows($result) === 0) {"



La, relis toi, tu utilises 2 fois $result :D
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
20 oct. 2005 à 23:11
@malalam = c'est possible de lancer plusieurs requètes puisqu'il en
récupère le résultat dans des variables différentes ($result, $result1,
$result2, $result3,...)



sinon, moi j'aime bien l'algorithme de tueur :p



$indexe = 0;

if($indexe==0)

{

......

$indexe = 1;

}

if($indexe == 1)

{

......



A mon humble avis, Teclis, tu peux t'en passer de tout ça =);
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 oct. 2005 à 08:47
Ouais j'avais zappé les 1,2 et 3



Mais heu, pourquoi 3 requêtes pour ça ?
0
Rejoignez-nous