probleme avec une simple requete d'une condition

fanette
Invité n'ayant pas de compte PHPfrance

02 janv. 2007, 20:10

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

Eléphanteau du PHP | 25 Messages

02 janv. 2007, 20:16

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.

HD
Mammouth du PHP | 1181 Messages

02 janv. 2007, 20:17

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
Modifié en dernier par HD le 02 janv. 2007, 20:19, modifié 2 fois.
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

fanette
Invité n'ayant pas de compte PHPfrance

02 janv. 2007, 20:18

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 janv. 2007, 21:57

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="

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

03 janv. 2007, 11:25

Rappel :
ni guillemets, ni apostrophes, autour des valeurs numériques ! :non: