Recherche mulitcritère

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 : Recherche mulitcritère

Re: Recherche mulitcritère

par Mazarini » 14 juin 2012, 13:51

"...($idclient ISNULL OR numclient =$idclient)..." ne doit pas passer.
Ca doit donner : ( ISNULL OR numclient =)

A mon avis, si $idclient est vide, mets 0 dedans et fais un test classique : ($idclient = 0 OR numclient =$idclient)

Il faut tester la bonne exécution de la requête et afficher mysql_error() en cas de problème. Il me semble que tu devrais paramétrer PHP pour afficher les erreurs d'éxécution : error_reporting et error_display dans le fichier php.ini

Re: Recherche mulitcritère

par Tit0047 » 14 juin 2012, 09:41

Oops, autant pour moi!

Par contre cela ne fonctionne toujours pas...d'autres idées d'erreurs?
      		$vSql = "SELECT * from Personne where (($idclient ISNULL OR numclient =$idclient) AND ($nomclient='' OR nom = '".$nomclient."') AND($prenomclient='' OR prenom = '".$prenomclient."') AND  ($numtel='' OR numtel = '".$numtel."')) ;"; 
Merciiiiii!

Re: Recherche mulitcritère

par Mazarini » 14 juin 2012, 08:46

Edit oops, je n'ai pas les yeux en face des trous... Il manque une paranthèse après le where

Recherche mulitcritère

par tit047 » 13 juin 2012, 20:45

Bonjour,

Je cherche à faire une recherche sur une table en fonction de plusieurs critères.
Je voudrais que la requête ignore la condition si le champs n'a pas été rempli par l'utilisateur.
Ainsi si on renseigne un nom et un numéro de téléphone par exemple, la requête ne s'effectue seulement sur ces critères ci.

Je travaille sur une table Personne (numclient, nomclient, prenomclient, numtel)

Voici mon code :
$vSql = "SELECT * from Personne where ($idclient ISNULL OR numclient =$idclient) AND ($nomclient=' ' OR nom = '".$nomclient."') AND($prenomclient=' ' OR prenom = '".$prenomclient."') AND  ($numtel=' ' OR numtel = '".$numtel."')) ;"; 
Celui ci ne fonctionne pas...et à vrai dire je m'arrache les cheveux dessus depuis quelques heures!

Quelqu'un peut-t-il m'éclairer?

Un grand merci,

Tit047