PB avec $query = "SELECT

Eléphant du PHP | 108 Messages

07 mars 2008, 22:17

Bonsoir
J'ai besoin de votre aide... D AVANCE MERCI..

J"ai une table "coordonnees" (on y trouve l'identifiant,le nom, password, etc.)
J"ai une table "annonces" (on y trouve les programmes crées par l'identifiant,il peut y en avoir plusieurs)
J"ai une table "rex" (on y trouve le rex d'un programme de la table "annonces" créé par le même idenfifiant.)

Pour afficher le rex d'un programme par rapport à un identifiant (NO PROBLEME) cela fonctionne trés bien.

Mon problème est:
*Je souhaite à ce que l'identifiant ayant créé un rex sur un programme (de la table "annonces" ne puisse pas en creer un 2° sur ce même programme. (je veux limiter à 1 le rex par programme.)
Je vous montre mon code:
$query = "SELECT annonces.id,annonces.id_membre,annonces.annonce,
annonces.commande,annonces.fournisseur,annonces.type_arret,annonces.tranche,
annonces.annee,annonces.lot,rex.id_programme,rex.id_membres,rex.nom 
FROM annonces,rex 
WHERE annonces.id_membre='".$_SESSION["coordonnees"]["id"]."' 
AND annonces.id!=rex.id_programme  ORDER BY rex.id_membres DESC";
"coordonnees.id" est l'identifiant

"annonces.id_membre" est l'identifiant
"annonces.id" est le N° du programme

"rex.id_membres" est l'identifiant (avec un "s" est l'identifiant de la table "coordonnees"
"rex.id_programme" est le N° du programme (de la table "annonces"






Encore d'avance MERCI de vouloir m'aider

Francis

Eléphanteau du PHP | 27 Messages

07 mars 2008, 22:37

je pense que tu aurais plus de chance de trouver une solution en postant dans le forum sql... et en donnant les éventuels messages d'erreurs... ;)

ViPHP
ViPHP | 1996 Messages

08 mars 2008, 03:17

Et un truc du genre ? :
$query = "SELECT annonces.id,annonces.id_membre,annonces.annonce,
annonces.commande,annonces.fournisseur,annonces.type_arret,annonces.tranche,
annonces.annee,annonces.lot,rex.id_programme,rex.id_membres,rex.nom 
FROM annonces
LEFT JOIN rex ON annonces.id!=rex.id_programme
WHERE annonces.id_membre='".$_SESSION["coordonnees"]["id"]."' 
ORDER BY rex.id_membres DESC";
EDIT : mets des `` autour de des nom des champs et de tables c'est un conseil `annonces`.`id,annonces`
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 mars 2008, 10:40

EDIT : mets des `` autour de des nom des champs et de tables c'est un conseil `annonces`.`id,annonces`
Absolument pas !!!

C'est une astuce propre à MySQL pour pouvoir utiliser des noms non standard (avec espaces, caractère spéciaux, ...)
Si ton code SQL fonctionne sans `, c'est qu'il y a beaucoup plus de chance qu'il fonctionne sur d'autres SGBD. ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1996 Messages

08 mars 2008, 12:56

An bon ? Ok connaissais pas!! Méacoulpa (même si je doute que cela ne s'écrive comme cela lol)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 mars 2008, 13:57

Même si tu en connais probablement déjà la majorité, un petit tour du côté des bonnes pratiques en SQL de la FAQ ne fait jamais de mal ;)
(ouais je me fais de la pub, et alors ? :P )

Ps : "Mea [Maxima] Culpa" ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...