WHERE NOT

Eléphanteau du PHP | 21 Messages

28 sept. 2005, 19:54

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 :

Code : Tout sélectionner

* $requete = "....where nom!='toto'";
est ce qu'il y a une commande du genre :

Code : Tout sélectionner

$requete = "....where NOT (nom='toto')";
cordialement,
xavier
C'est en forgeant que l'on devient forgeron!

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 sept. 2005, 20:01

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é

Mammouth du PHP | 19672 Messages

28 sept. 2005, 20:14

En SQL, "différent" s'écrit "<>" donc ça devrait être:
$requete = "....WHERE nom <> 'toto'";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 sept. 2005, 20:27

En SQL, "différent" s'écrit "<>" donc ça devrait être:
$requete = "....WHERE nom <> 'toto'";
!= marche tout aussi bien

Eléphanteau du PHP | 21 Messages

28 sept. 2005, 20:39

merci pour l'aide, je test tout ça et je mets "reglé" si c'est bon.

cordialement,
xavier
C'est en forgeant que l'on devient forgeron!

Eléphant du PHP | 199 Messages

28 sept. 2005, 20:39

$requete = "....where NOT (nom='toto')";
marche aussi :lol:
Les 2 font la paire : coder ET commenter :wink:

Mammouth du PHP | 19672 Messages

28 sept. 2005, 21:02

!= marche tout aussi bien
Possible, mais ce n,est pas conforme à la nomre ANSI SQL :P
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 sept. 2005, 21:04

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...

Eléphanteau du PHP | 21 Messages

29 sept. 2005, 12:44

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

Code : Tout sélectionner

mysql_errno
ms ca marche seulement pour une requete et pas les 3 a la fois.

cordialement,
xavier
C'est en forgeant que l'on devient forgeron!

Eléphanteau du PHP | 21 Messages

29 sept. 2005, 14:59

quelqu'un aurait il une orientation a me donner??
cordialmeent,
xavier
C'est en forgeant que l'on devient forgeron!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 sept. 2005, 15:09

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
{
} 

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

Mammouth du PHP | 1776 Messages

29 sept. 2005, 15:33

!= marche tout aussi bien
Possible, mais ce n,est pas conforme à la nomre ANSI SQL :P
Ce serait pas qu'il y aurait un combat W3C mais en SQL :lol:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

29 sept. 2005, 19:46

Ce serait pas qu'il y aurait un combat W3C mais en SQL :lol:
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 !? :langue:

Pourquoi pas prendre des cours de solfège avant de "faire" un disque, tant qu'on y est ? ;)

Eléphant du PHP | 357 Messages

30 sept. 2005, 14:09

en voila une idée qu elle est bonne ;-)
encore une bonne idée de maitre albat :lol:

Eléphanteau du PHP | 21 Messages

30 sept. 2005, 15:42

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??
C'est en forgeant que l'on devient forgeron!