Recherche d une id sur 3 tables

Résolu
Teclis01
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
- 17 oct. 2005 à 20:44
Teclis01
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
- 19 oct. 2005 à 19:10
voici l'erreur
Parse error: parse error, unexpected T_ELSE
voici le code!
$table="etcitem";
$query = "SELECT * FROM $table WHERE item_id= $item";
$result = mysql_query($query) or die("Echec de la requête");
if (mysql_num_rows($result) == 0){//si on trouve rien dans la table etcitem on va regarder la table weapon

$table="weapon";
$query = "SELECT * FROM $table WHERE item_id= $item";
$result = mysql_query($query) or die("Echec de la requête");
if (mysql_num_rows($result) == 0){//si on trouve rien dans la table weapon on va regarder la table armor

$table="armor";
$query = "SELECT * FROM $table WHERE item_id= $item";
$result = mysql_query($query) or die("Echec de la requête");

if (mysql_num_rows($result) == 0){//si on trouve rien dans la table weapon on en fait part
$item1="pas de nom associé";
}
else{
$item1=$row["name"]; //sinon on recupere le nom de l'arme
}
else{ //voici la ligne qui pose probleme ...et je comprends pas pq?
$item1=$row["name"]; //sinon on recupere le nom de l'armure
}
else{
$item1=$row["name"]; //sinon on recupere le nom de l'objet
}


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

6 réponses

FhX
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
17 oct. 2005 à 22:51
$query = "SELECT * FROM etcitem WHERE item_id='".$item."' ";

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

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

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

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

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

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

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

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


$item1="pas
de nom associé";

} else {


$data = mysql_fetch_array($result);


$item1 = $data['name'];

}

} else {

$data = mysql_fetch_array($result);


$item1 = $data['name'];

}

} else {

$data = mysql_fetch_array($result);

$item1 = $data['name'];

}



Et la ca marche... !

Si tu veux récupérer des noms de champs, faut utiliser mysql_fetch_array().
3
monoceros01
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

19 oct. 2005 à 06:09
L'opérateur "==" est l'opérateur "est égal à" comme tu dois le savoir.

Mais "===" est l'opérateur "est identique à".



La différence entre les deux c'est que l'opérateur "est identique à" est un opérateur "est égal à" + "est du même type que"



Concrêtement,

(1 == TRUE) renvoi TRUE

(1 === TRUE) renvoi FALSE (car 1 est de type integer et TRUE de type bolean)
3
cs_sjon
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
17 oct. 2005 à 21:08
Sael og blesud



Usez de elseif ... ;-) >> http://fr.php.net/manual/en/control-structures.elseif.php



Par ailleurs il vous manque des accolades ... ;-)



$table="etcitem";

$query = "SELECT * FROM $table WHERE item_id= $item";

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

if (mysql_num_rows($result) == 0){//si on trouve rien dans la table etcitem on va regarder la table weapon



$table="weapon";

$query = "SELECT * FROM $table WHERE item_id= $item";

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

if (mysql_num_rows($result) ==
0){//si on trouve rien dans la table weapon on va regarder la table
armor



$table="armor";

$query = "SELECT * FROM $table WHERE item_id= $item";


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




if (mysql_num_rows($result) ==
0){//si on trouve rien dans la table weapon on en fait part


$item1="pas
de nom associé";

}elseif{



$item1=$row["name"]; //sinon on recupere le nom de l'arme



}elseif{
//voici la ligne qui pose probleme ...et je comprends pas pq?



$item1=$row["name"]; //sinon on recupere le nom de l'armure

}else{



$item1=$row["name"]; //sinon on recupere le nom de l'objet

}

}

}

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón
0
Teclis01
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
17 oct. 2005 à 21:23
les elseif ca s utilise avec des flags non? enfin il faut tester une valeur...j'ai mis:
mysql_num_rows($result) != 0
mais ca pose quelques soucis et le script est vraiment lent il doit y avoir un plus gros probleme...


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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Teclis01
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
17 oct. 2005 à 23:28
Oula merci bcp ca fonctionneuuuuu !!! Merci pour mon mal de crane :O)
Bon tu as bien merité que j accepte ta reponse néanmoins j aimerais que tu m expliques une tite chose...
ton operateur : ===
Merci du coup de main !


-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
Teclis01
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
19 oct. 2005 à 19:10
d'accord je saisis la nuance! assez pratique je dois dire !!! Merci de l'info!


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