Page 1 sur 1
WHERE NOT
Posté : 28 sept. 2005, 19:54
par xavier100
bonjour,
je suis en train de creer ma reservation en ligne et je sais pas coment faire pour une requete. En effet, j 'ai une table avec plusieurs enregistrement dont seul le nom de l'utilisateur change et ma requete devrait me sortir de la base tous les enregistrements sauf un nom (exemple toto).
J avais ecris ça ms ca ne marche pas :
est ce qu'il y a une commande du genre :
cordialement,
xavier
Posté : 28 sept. 2005, 20:01
par ouckileou
la première clause devrait fonctionner, est-ce que tu peux nous expliquer lus en détails ce que dois faire la requête SQL ?
et si tu as un problème niveau SQL, il y a le forum Base de données qui est plus adapté
Posté : 28 sept. 2005, 20:14
par Cyrano
En SQL, "différent" s'écrit "<>" donc ça devrait être:
$requete = "....WHERE nom <> 'toto'";
Posté : 28 sept. 2005, 20:27
par ouckileou
En SQL, "différent" s'écrit "<>" donc ça devrait être:
$requete = "....WHERE nom <> 'toto'";
!= marche tout aussi bien
Posté : 28 sept. 2005, 20:39
par xavier100
merci pour l'aide, je test tout ça et je mets "reglé" si c'est bon.
cordialement,
xavier
Posté : 28 sept. 2005, 20:39
par smarties
$requete = "....where NOT (nom='toto')";
marche aussi

Posté : 28 sept. 2005, 21:02
par Cyrano
!= marche tout aussi bien
Possible, mais ce n,est pas conforme à la nomre ANSI SQL

Posté : 28 sept. 2005, 21:04
par albat
En SQL, il peut exister plusieurs manières d'écrire une requête
et le résultat sera
apparemment le même.
Cependant, que ce soit pour des questions d'optimisation, de performances,...
certaines écritures sont à privilégier et d'autres à éviter.
Un exemple courant est :
SELECT DISTINCT champ FROM table // Bien !!!
SELECT champ FROM table GROUP BY champ // Mal...
Posté : 29 sept. 2005, 12:44
par xavier100
En fait, j avais mal ecrit une variable dans ma requete.....sinon, j ai utilisé
"!=", il est peut etre vrai que c'est pas corret en en language mais apres une recherche sur google, un article fait mention entre
"!=" et
<> et la solution
"!=" est plus rapide en traitement que l'autre.
Sinon, j avais une autre question :
Dans mon programme, j ai plusiseurs requetes qui se suivent, sur 2 tables differentes, et jamais séparées par un if ou autre....le pb c'est quelles dependent les unes des autres, c est a dire que si l'une plante, ca va etre assez genant pour la suivant.
En resume, si je fais :
Code : Tout sélectionner
$requete="..";
$sql="..";
$toto="..";
if(mysql_query($requete) && mysql_query($sql) && mysql_query($toto))
{
}
else
{
}
Le but est que si l'une des 3 requete plante, ben on fait rien et on recommence jusqu'a ce que les trois fonctionne
Le code est il correct ou doi-je utiliser une autre technique ??
J avais penser a faire
ms ca marche seulement pour une requete et pas les 3 a la fois.
cordialement,
xavier
Posté : 29 sept. 2005, 14:59
par xavier100
quelqu'un aurait il une orientation a me donner??
cordialmeent,
xavier
Posté : 29 sept. 2005, 15:09
par Truc
Salut, je pense que ton code est plus ou moins correct mais pour que ce soit (un peu ) plus propre et pour afficer les erreurs en fonction de tel ou tel requete je te propose ceci (dans le meme style):
$requete="..";
$sql="..";
$toto="..";
$retour_requete = mysql_query($requete) or die (mysql_error());
$retour_sql = mysql_query($sql) or die (mysql_error());
$retour_toto = mysql_query($toto) or die (mysql_error());
if($retour_requete && $retour_sql && $retour_toto)
{
}
else
{
}
Posté : 29 sept. 2005, 15:33
par DocType
!= marche tout aussi bien
Possible, mais ce n,est pas conforme à la nomre ANSI SQL

Ce serait pas qu'il y aurait un combat W3C mais en SQL

Posté : 29 sept. 2005, 19:46
par albat
Ce serait pas qu'il y aurait un combat W3C mais en SQL

Si chaque langage s'avère avoir des normes à respecter, ça va être terrible :
Il va falloir apprendre à coder avant de pondre des sites et des applis !?
Pourquoi pas prendre des cours de solfège avant de "faire" un disque, tant qu'on y est ?

Posté : 30 sept. 2005, 14:09
par seayoung
en voila une idée qu elle est bonne

encore une bonne idée de maitre albat

Posté : 30 sept. 2005, 15:42
par xavier100
merci Truc pour ta solution....a la limite, dans le "else", je pourrais mettre un "header location", comme si ca plante ben je revien s au debut non?? sans pour autant avoir effectue mes requete dans le cas ou une planterait??