Question

neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007 - 18 févr. 2005 à 09:36
neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007 - 18 févr. 2005 à 11:49
Bonjour, existe t-il un filtre en php car j'ai fai un formulaire qui recherche des données dans ma table et il fodrait soit une requete ki recherche tous les champs soit un filtre donc j'aimerais savoir ce qu'il faut faire car ma requete affiche toujour tous les champs de la table.
voici un petit bout de code de ma requete :
SELECT reference,datecreation,nom_vend,adr1_vend, ... ,tel2_acheteur,exclusivite,visible FROM immo WHERE reference LIKE '$reference' OR datecreation LIKE '$datecreation' OR nom_vend LIKE '$nom_vend'...

11 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
18 févr. 2005 à 09:49
Salut ,



Essais de changer les "OR" par des "AND"



@+

[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

Membre du club CodeS-SourceS
0
neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007
18 févr. 2005 à 09:58
g essayé mais ca ne fonctionne pas car tous les champs ne sont pas saisi donc ca ne me montre jamais aucun resultat
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
18 févr. 2005 à 10:12
salut,

il faudrait plus essayer de décomposer ta requete

peut etre que justement les champs vides posent problémes

$sql = "SELECT reference,datecreation,nom_vend,adr1_vend, ... ,tel2_acheteur,exclusivite,visible FROM immo WHERE 0 ";


if ($reference!='')

{



$sql.= " OR reference
LIKE '".$reference."'";

}

if ($datecreation!='')

{



$sql.= " OR datecreation
LIKE '".$datecreation
."'";

}

etc....



peut etre que comme ca !!!


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007
18 févr. 2005 à 10:13
ou alors il faudrait que je fasse un if de tous les champs qui sont renseignés et la ensuite je fais ma requete mais je ne sais pas comment verifier si les champs sont vides ou non donc pourriez -vous m'aider a ce niveau merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
18 févr. 2005 à 10:18
ouep, je viens de te le dire lol

à 7 seconde prés lol

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
18 févr. 2005 à 10:20
salut

voilà une solution.

$queryreference=(empty($reference)) ? "%" : $reference;

$querydatecreation=(empty($datecreation)) ? "%" : $datecreation;

..... (idem pour tous les parametres)



puis..ta requete :



SELECT
reference,datecreation,nom_vend,adr1_vend, ...
,tel2_acheteur,exclusivite,visible FROM immo WHERE reference LIKE
'$queryreference' AND datecreation LIKE '$querydatecreation'AND.....



;)


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
18 févr. 2005 à 10:27
salut davwart ,



tu pourrais m'expliquer la structure de "(empty($
variable
)) ? "%" : $variable;" ?? merci



je rencontre pas mal de fois cette forme de ligne avec un point d'interrogation suivi par un %



Merci


[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

http://www.codes-sources.com
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
18 févr. 2005 à 10:34
salut frop.



le structure est la suivante :

condition ? valeur 1: valeur2.



ça se traduit par: "si la condition est vraie, alors valeur1, sinon valeur 2" (en fait c comme un if..mais plus compact).



dans l'exemple,


$queryreference=(empty($reference)) ? "%" : $reference;

si $reference est vide, $query reference vaudra "%"

et dans une requete, si tu fais "champ LIKE %", tu auras toutes tes
données (car toutes les données on un champ qui ressemble à "%").

par contre, si $reference est vide, la requete sera "champ like 'mareference'"


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
18 févr. 2005 à 10:46
très bien expliqué



merci devwart ;)




[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

Membre du club CodeS-SourceS
0
neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007
18 févr. 2005 à 10:51
la solution de trucsoufle na pas fonctionner donc je vais essayé la solution de davwart je vous tiens au courant merci d'essayé de m'aider
0
neotetsuo34 Messages postés 68 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 23 mars 2007
18 févr. 2005 à 11:49
la solution de davwart fonctionne mais ca ne m'affiche qu'un resultat le deuxieme ne ve pa s'afficher est-ce un pb venant de la requete ou ?
0
Rejoignez-nous