Page 1 sur 1

requête SQL

Publié : 09 mai 2006, 16:48
par ECO
J'ai un problème pour afficher des résultats si le/les critères de filtrations ne sont pas saisis (via variable php ou en dur)

ma requête :

Code : Tout sélectionner

SELECT histo_projets.id_projets, design_projets, design_themes_1, design_themes_2
FROM histo_projets, histo_themes_1, histo_themes_2
WHERE histo_themes_1.id_themes_1 = histo_projets.id_themes_1 AND histo_themes_1.design_themes_1 = '$choixThemes1'  AND histo_themes_2.id_themes_2 = histo_projets.id_themes_2 
ORDER BY design_projets DESC"
donc ici, par exemple, si je ne définie pas $choixThemes1 je n'est pas de résultats alors que je souhaiterais tous les avoir (sans restrictions)

merci d'avance

Publié : 09 mai 2006, 17:41
par Asumbaa
Salut,

Eh bien, il faut que le morceau de WHILE [edit : WHERE] dans lequel tu mets la restriction si elle existe, soit soumis à une condition.

Du genre :

Code : Tout sélectionner

<?php
$requete = "SELECT histo_projets.id_projets, design_projets, design_themes_1, design_themes_2
FROM histo_projets, histo_themes_1, histo_themes_2
WHERE histo_themes_1.id_themes_1 = histo_projets.id_themes_1 AND histo_themes_2.id_themes_2 = histo_projets.id_themes_2 ";

if ($choixThemes1 != '') $requete.= "AND histo_themes_1.design_themes_1 = '$choixThemes1' ";

$requete.= "ORDER BY design_projets DESC";
?>
Je suppose que tu es en PHP ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 09 mai 2006, 17:46
par FF_Olivier
Asumbaa a écrit :(---8<---) il faut que le morceau de WHILE (---8<---)
le morceau de WHERE ;) ?

Publié : 09 mai 2006, 17:59
par Asumbaa
Hum, oui, merci FF_Olivier pour ta vigilance :P

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 09 mai 2006, 18:09
par ECO
ok, rien de bien compliqué en fait

merci

ps : je suis effectivement en PHP