begin process at 2012 05 31 15:00:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Requête vide car variable vide


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête vide car variable vide

lundi 11 janvier 2010 à 16:30:24 | Requête vide car variable vide

artkap

Bonjour,

voila j'ai un formulaire de recherche avec des select box.
Par default je leur ai attribué une valeure nulle :
<option value='' selected="selected"></option>
...

ma page php récupère les POST sauf que la requête ne me renvoi rien si un des champs n'a pas été choisi (si il a été laissé sur sa valeure nulle donc) car tous les champs sont rensieignés dans ma base.
Je voudrais simplement que la requete sql ignore cette varibale si rien n'a été select dans le choix déroulant.

Merci de votre aide.
lundi 11 janvier 2010 à 16:58:04 | Re : Requête vide car variable vide

phpAnonyme

Salut,

Comprends-tu et connais-tu, l'utilisation de la balise select et, donc de option ?
Vous me faites vraiment peur des fois

______________________________________________________________________
lundi 11 janvier 2010 à 16:58:10 | Re : Requête vide car variable vide

Tonio_35

Bonjour,

Peux-tu nous envoyer un mini bout de code (Construction de ta requete SQL par exemple)...


_________________________________
Min iPomme
lundi 11 janvier 2010 à 17:33:33 | Re : Requête vide car variable vide

artkap

Select je comprend. Option moins...je débute

Tonio :

$sql = "SELECT * FROM produits WHERE propriete = '$Propriete' AND application = '$Application'";
lundi 11 janvier 2010 à 19:00:38 | Re : Requête vide car variable vide

Tonio_35

Réponse acceptée !
Bon, donc si j'ai bien compris, tu as deux <select>, l'une avec les propriétés et une autre avec les applications.

L'utilisateur peux choisir de les remplir ou non et soumettre le formulaire, c'est bien ca ?

Et bien il faut que tu crée ton SELECT SQL en fonction de ce qui est retourné par ton formulaire...

Code PHP :
<?php
// Dans $where on meteras la clause WHERE de ton select,
// cette clause dépends de tes variables renvoyées par 
// le formulaire.
$where = "";

// Si ton formulaire a spécifié un toto, on crée la 
// clause where avec le toto
if(isset($toto) and $toto != null)
   $where = "WHERE propriete = '$toto'";

// Si ton formulaire a spécifié un tata et que le
// toto est déjà présent dans le where, on ajoute
// le tata à la clause WHERE déjà crée
if(isset($tata) and $tata != null and $where != "")
{
   $where .= " AND application = '$tata'";
}
// Sinon si ton formulaire a spécifié un tata et que le
// toto n'est pas spécifié, on crée une clause where
// avec le tata
elseif(isset($tata) and $tata != null and $where == "")
{
   $where = "WHERE application = '$tata'";
}
// Si ni toto ni tata n'est spécifié dans le formulaire
// la clause WHERE seras vide

$sql = "SELECT * FROM produits $where";
// $sql contient donc soit
// SELECT * FROM produits WHERE propriete='ta valeurn toto sécurisée'
// SELECT * FROM produits WHERE propriete='ta valeur toto sécurisée' AND application='Ta valeur tata sécurisée'
// SELECT * FROM produits WHERE application='Ta valeur tata sécurisée'
// SELECT * FROM produits

// PS : pour sécuriser toto et tata n'oublie pas 
// mysql_real_escape_string
// $toto = mysql_real_escape_string($_POST['titi']);
?>




_________________________________
Min iPomme
mardi 12 janvier 2010 à 09:31:48 | Re : Requête vide car variable vide

artkap

Merci Tonio !
Pour finir, qu'est ce que tu entends par "sécuriser" toto ?
mardi 12 janvier 2010 à 09:43:57 | Re : Requête vide car variable vide

Tonio_35

Sécuriser c'est empecher un utilisateur mal veillant de toucher à ta base de donnée. Pour cela il faut utiliser la fonction mysql_real_escape_string afin d'éviter ce qu'on appel les attaques par injection SQL...


_________________________________
Min iPomme
mardi 12 janvier 2010 à 09:46:03 | Re : Requête vide car variable vide

Tonio_35

PS : si un message t'as permis de résoudre ton problème, n'hésite pas à le marquer en cliquant sur le bouton en dessous du nom d'utilisateur afin qu'il soit mieux vu dans la recherche...



<===


_________________________________
Min iPomme
mardi 12 janvier 2010 à 12:23:30 | Re : Requête vide car variable vide

artkap

Merci à toi !


Cette discussion est classée dans : variable, requête, select, vide, valeure


Répondre à ce message

Sujets en rapport avec ce message

requête select et variable [ par troupe_a_jule ] juleBonjour à tousJ'aimerai utilisé dans ma page php les valeus qui sont récupéré dans ma requête sans les afficher. Je fait ma requête, elle semble c pb:variable vide [ par chrys76 ] CHRYSVoila j'ai une variable avec un chiffre et je veux que lorsque ma page se charge elle garde la valeur je ne vois pas trop comment fairesi quelqu' Requête SQL [ par alonsyl ] Bonjour,Sous Access, j'execute une 1ère requête ("4_ventes"):SELECT Mid([reference],1,4) AS ref, VENTES.nb_ventes FROM VENTES;Puis, j'utilise ce résul recupération d'une variable js dans php [ par scarlbinoche ] un select qui recupére son contenu d'une requete sql selon la value d'un premier select mais le souci est au niveau de la recupération du value du pr erreur php [ par MisterRack ] Bonjour à tous ! J'ai un petit problème... Voila en fait j'ai créé un fichier config.ini dans lequel j'ai inscrit la variable suivante : $body = " affecter une variable php à une requête mysql [ par Xini28 ] Bonjour à tous, En fait j'ai affecter une valeur à une variable php : $nom = "nom" Je voudrais alors utiliser cette variable dans une requête mysql. Sous-requête avec MYSQL [ par bonjovi51 ] Bonjour à toutes et à tous Je voudrai svoir si MYSQL Supporte les sous requêtes. Si oui, j'aimerai bien voir où se trouve mon erreur. Voilà, je vous variable [ par cobra176 ] j'ai un soucis pour une variable bien précisema requete est bonne mais mon code php me fait des misiére    $connect=mysql_connect("127.0.0.1", "root", Requete UPDATE ? [ par nosfe2708 ] Bonjour, je voulais savoir si quand on appelle une requête UPDATE tel que : mysql_query("UPDATE table SET lu=1 WHERE id='$variable'"); Est ce que l'u Nom de table variable [ par minet5 ] bonjour,cela fait 2 jours que je ne trouve pas la solution et je viens a votre aide!je crée une table dont le nom est concatener 'commandex' ou x est


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales