Page 1 sur 1

probleme avec une simple requete d'une condition

Posté : 02 janv. 2007, 20:10
par fanette
Bonsoir,

Voila j'ai un petit ptobleme :oops:

J'ai une condition GET et je voudrai que si GET = une certaine valeur que sa me fasse ma requete SQL ou si c'est une autre valeur GET alors faire une autre ... rien de compliquer mais je n'y arrive pas ... (fau que j'arrete le vin a 1 € Lol)
if($_GET[lire] == 'fr' {
$result = mysql_query("SELECT * FROM agenda WHERE eleve = '$_GET[nom]' AND region = '1' or '2' or '3' or '4' or '5' or '6' or '7' or '8' or '9' or '10' or '11' or '12' or '13' or '14' or '15' or '16' or '17' or '18' or '19' or '20' or '21' or '22' ORDER BY id DESC");

} else { 	

$result = mysql_query("SELECT * FROM agenda WHERE eleve = '$_GET[nom]' AND region = '$_GET[region]' ORDER BY id DESC");

}
Merci de votre réponse :)

Posté : 02 janv. 2007, 20:16
par the dreamer
et c'est quoi le problème ??
Fais attention à bien mettre entres quotes les noms de tes champs.
if($_GET['lire'] == 'fr') {
$result = mysql_query("SELECT * FROM agenda WHERE eleve = ".$_GET['nom']." AND region = '1' or '2' or '3' or '4' or '5' or '6' or '7' or '8' or '9' or '10' or '11' or '12' or '13' or '14' or '15' or '16' or '17' or '18' or '19' or '20' or '21' or '22' ORDER BY id DESC");

} else {     

$result = mysql_query("SELECT * FROM agenda WHERE eleve = ".$_GET['nom']." AND region = ".$_GET['region']." ORDER BY id DESC");

}
Je ne sais pas si c'est ça que tu demandais mais en tout cas ça évitera les parse error.

Posté : 02 janv. 2007, 20:17
par HD
toujours mettre :
or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
essaie donc
if($_GET[lire] == 'fr') {
$sql = "SELECT * FROM agenda WHERE eleve = '$_GET[nom]' AND region = '1' or '2' or '3' or '4' or '5' or '6' or '7' or '8' or '9' or '10' or '11' or '12' or '13' or '14' or '15' or '16' or '17' or '18' or '19' or '20' or '21' or '22' ORDER BY id DESC";
$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());;

} else {     
$sql = "SELECT * FROM agenda WHERE eleve = '$_GET[nom]' AND region = '$_GET[region]' ORDER BY id DESC";
$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

}
puis montre nous ce que cela affiche

Posté : 02 janv. 2007, 20:18
par fanette
En faite le probleme c'est que quand GET = fr il y a rien qui saffiche alors qu'il devrai y avoir des resultats a afficher.

je test ce que tu ma envoyer.

Posté : 02 janv. 2007, 21:57
par Truc
L'erreur est la :

Code : Tout sélectionner

... AND region = '1' or '2' or '3' ...
ça ne veut rien dire :?

Soit tu utlises l'opérateur "IN" soit "BETWEEN" :wink:
(ou encore tu répètes autant fois que nécessaire "region="

Posté : 03 janv. 2007, 11:25
par albat
Rappel :
ni guillemets, ni apostrophes, autour des valeurs numériques ! :non: