Conditionel dans requete
Résolu
AmeryCourtz
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
AmeryCourtz Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
AmeryCourtz Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Bien voila, j'ai un soucis avec ma requète dans cette fonction :
Mon soucis est là "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
En fait je voudrait dire que si l'id marque moteur "AB.MarqueMoteur" est null je récupère rien ou une valeur null et que sinon je recupere la valeur qui correspond à l'id du moteur "AMM.MaMo_Id"
Le soucis c que j'ai beau mettre :
- "AND AMM.MaMo_Id = AB.MarqueMoteur"
- "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
- "AND AB.MarqueMoteur IS NOT NULL
AND AMM.MaMo_Id = AB.MarqueMoteur"
Y a rien qui marche. Au mieux il me renvoit la valeur du premier id de ma table moteur se que je ne veut pas et au pire il me renvoit plus de tableau du tout.
Dans l'ideal j'aimerais dire "Si AB.MarqueMoteur != 0 alors mettre "AND AMM.MaMo_Id = AB.MarqueMoteur" Sinon donnée une valeur null à l'id moteur
Bien voila, j'ai un soucis avec ma requète dans cette fonction :
function AnnAff_DéclarationChamps($IdAnn){
//Ouverture BDD
OuvertureBDD();
//On recupere les params
$Result = mysql_query("SELECT Descriptif, AnneeBateau, LongueurBateau, LargeurBateau, NbCabine, NbCouchette,
AnneeMoteur, NbMoteur, PuissMoteur, EnergieMoteur, PropulsionMoteur, CoorTel, CoorAdresseMail,
Cat_Designation, MaMo_Designation, Scat_Designation
FROM annonces_bateaux_categorie AnnC, annonces_bateaux_sous_categorie AnnSsC, annonces_bateaux_marque_moteur AMM, annonces_bateaux AB
WHERE AB.IdAnnonce = " . $IdAnn . "
AND AnnC.Cat_Id = AB.Categorie
AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')
AND AnnSsC.Scat_Id = AB.SousCategorie") or die(mysql_error());
//echo("<script>window.alert('".$IdAnn."');</script>");
$Rslt=mysql_fetch_row($Result);
return $Rslt;
// On a fini de travailler, on ferme la connexion :
mysql_close();
}
Mon soucis est là "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
En fait je voudrait dire que si l'id marque moteur "AB.MarqueMoteur" est null je récupère rien ou une valeur null et que sinon je recupere la valeur qui correspond à l'id du moteur "AMM.MaMo_Id"
Le soucis c que j'ai beau mettre :
- "AND AMM.MaMo_Id = AB.MarqueMoteur"
- "AND AMM.MaMo_Id = AB.MarqueMoteur
OR AB.MarqueMoteur IN ('0')"
- "AND AB.MarqueMoteur IS NOT NULL
AND AMM.MaMo_Id = AB.MarqueMoteur"
Y a rien qui marche. Au mieux il me renvoit la valeur du premier id de ma table moteur se que je ne veut pas et au pire il me renvoit plus de tableau du tout.
Dans l'ideal j'aimerais dire "Si AB.MarqueMoteur != 0 alors mettre "AND AMM.MaMo_Id = AB.MarqueMoteur" Sinon donnée une valeur null à l'id moteur
Configuration: Windows Vista Safari 530.5
A voir également:
- Conditionel dans requete
- Requete sql pix ✓ - Forum MySQL
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Quelle requete écrire pour demander au moteur de recherche tennis - Forum Access
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Access
- Echec de la requete en raison d'une grave erreur matérielle de l'appareil - Forum Disque dur / SSD
5 réponses
ok, mais utilise les inner ou left join pour virer ce genre de ligne AND AnnC.Cat_Id = AB.Categorie
ainsi ta clause where se consacrera à des filtres adaptés.
ainsi ta clause where se consacrera à des filtres adaptés.
Merci, j'hesité à utiliser les inner join, je suis pas trop à l'aise avec et j'étais pressé par le temps, mais merci à toi ^^
Cordialement
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question