[RESOLU] Insérer une condition php dans une requête SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Insérer une condition php dans une requête SQL

Re: Insérer une condition php dans une requête SQL

par Sardinoux » 06 mars 2013, 17:06

Re!

Merci pour vos réponses, j'ai réussi à régler le problème en traitant, en effet, la requête avant en tant que variable de type string comme cela:
$req1 = "SELECT DISTINCT heure FROM cours WHERE  (id_promo=$idPromotion";
                                                        if (isset($cpDuGroupe3))
                                                            $req1 .="  OR cours.id_promo=$cpDuGroupe3";
                                                        if (isset($cpDuGroupe4))
                                                            $req1 .="  OR cours.id_promo=$cpDuGroupe4";
                                                        if (isset($cpDuGroupe5))
                                                            $req1 .="  OR cours.id_promo=$cpDuGroupe5";
                                                        if (isset($dedoublementAafficher1))
                                                            $req1 .="  OR cours.id_promo=$dedoublementAafficher1";
                                                        if (isset($dedoublementAafficher2))
                                                            $req1 .="  OR cours.id_promo=$dedoublementAafficher2";
                                                        if (isset($dedoublementAafficher3))
                                                            $req1 .="  OR cours.id_promo=$dedoublementAafficher3";
                                                        if (isset($dedoublementAafficher4))
                                                            $req1 .="  OR cours.id_promo=$dedoublementAafficher4";
                                                        $req1 .=") AND (heure>$DebutSemaine AND heure<$FinSemaine)";
                                                                                                                                            
                                                        $requeteNombredheureHebdo = mysql_query($req1);
Je ne sais pas ci c'est clair vu que c'est chargé mais le principe est là =D

Re: Insérer une condition php dans une requête SQL

par BGMaxime » 06 mars 2013, 15:56

bonjour,

le plus simple est de traiter ta requête avant l'appel de mysql_query:

if (ta condition est vraie)
$condition = " AND B=1 ";
else $condition=''";

$requete = "SELECT toto FROM titi WHERE A=1 ".$condition." AND C=1;"


mysql-query($requete);

A+

Re: Insérer une condition php dans une requête SQL

par yann18 » 06 mars 2013, 15:53

bonjour,
j'arrive à peine à comprendre ce que veux faire.néanmoins si tu veux faire une requête suivant qu'une variable existe ou non tu peux t'en inspirer:
$query="SELECT DISTINCT heure FROM cours  WHERE id_promo='".$idPromotion."'  ";
if (isset($cpDuGroupe2) ){
$query.="AND  col1='". $val1."' ";
mysql_query($query)
}

Insérer une condition php dans une requête SQL

par Sardinoux » 06 mars 2013, 15:39

Bonjour,

Est-il possible d'obtenir une requête SQL dynamique? Je poste une bout de code qui ne marche pas mais qui donne un peu l'idée:

mysql_query("SELECT DISTINCT heure FROM cours
WHERE (id_promo='$idPromotion'"
.if (isset($cpDuGroupe2)){echo ."OR cours.id_promo=$cpDuGroupe2";.}."//Ici je voudrais exécuter le bout de requête que si $cpDuGroupe2 existe
OR cours.id_promo='$cpDuGroupe3' OR cours.id_promo='$cpDuGroupe4' OR cours.id_promo='$cpDuGroupe5'
OR cours.id_promo='$dedoublementAafficher1' OR cours.id_promo='$dedoublementAafficher2' OR cours.id_promo='$dedoublementAafficher3' OR cours.id_promo='$dedoublementAafficher4')
AND (heure>$DebutSemaine AND heure<$FinSemaine)");

Je sais que ça paraît tordu mais ça me serait super pratique ou si vous connaissez une solution efficace pour le faire, je suis preneur.

En vous souhaitant une bonne journée.

Merci.