Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2006, 18h14   #1
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 69
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : février 2005
Messages : 69
Points : 27
Points : 27
Par défaut [SQL] Recherche multicritères

Bonjour,

j'ai une table avec par exemple nom, prénom et d'autres champs.
un formulaire de recherche de deux champs nom et prénoms.(je simplifie un peu...)

lorsque que je rentre un nom et un prénom ma requete me donne bien les personnes correspondantes à ce nom et ce prénom mais si je ne mets que le nom je n'ai plus rien car forcément il attribue au prenom une valeur nulle.

Donc je voudrais savoir comment dans la requete retrouver la personnes meme si le champ prénom est vide.

ma requete SQL est du type :

Code :
$req="Select * from personnes where pers_nom='$nom' and pers_prenom='$prenom'";
Merci d'avance.
denn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2006, 18h29   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

peut-être avant de faire ta reqûete, il te faudrait vérifier que $nom ou $prenom ne sont pas vides... et dans le cas où il sont vides, soit
1°) ne pas spécifier de condition sur nom ou prenom
2°) spécifier nom LIKE '%' ou prenom LIKE '%' ce qui revient à tout accepter, mais simplifiera sûrement la création de la requête
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2006, 18h56   #3
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
+1 swoög
une validation qui modifie ta string de requete semble correct
mais j'utilise des %like et ca fonctionne super
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 10h15   #4
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 69
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : février 2005
Messages : 69
Points : 27
Points : 27
Merci, pour les réponses.

Donc j'ai trouvé et voici comment j'ai fait :

Code :
    $req_selec_personne="Select pers_nom, pers_prenom from personnes ";
avec pour les champs (exemple pour le prénom) :

Code :
1
2
3
4
5
6
7
8
9
    if(isset($_POST['prenom']))
    {
        $prenom=$_POST['prenom'];
        if($prenom!="")
        {
            $req_selec_personne.=" and pers_prenom='$prenom'";
        }
 
    }
Et voilou ^^
denn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 17h42   #5
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
n'oublie pas de mettre la mention à ton message
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h14.


 
 
 
 
Partenaires

Hébergement Web