probleme de recherche dans une base de données avec l'opérat
Posté : 14 mai 2008, 15:00
Bonjour,
Je débute en PHP et je réalise actuellement un petit moteur de recherche en PHP/MySQL avec plusieurs critères de recherche. Mais j'ai un petit souci, avec ma requête : quand l'un des champs du formulaire est null, il m'affiche le contenu entier de ma base de données.
SGBD : MySQL5.0
Voici le shema de la table en question:
Voici ma requête:
Voici le echo de ma requête une fois exécutée:
Je pense que le problème vient des %, il faudrait que je puisse les enlever si le champs est null.
Merci d'avance pour votre aide.
Je débute en PHP et je réalise actuellement un petit moteur de recherche en PHP/MySQL avec plusieurs critères de recherche. Mais j'ai un petit souci, avec ma requête : quand l'un des champs du formulaire est null, il m'affiche le contenu entier de ma base de données.
SGBD : MySQL5.0
Voici le shema de la table en question:
Code : Tout sélectionner
CREATE TABLE `animations` (
`anim_id` int(10) NOT NULL auto_increment,
`anim_nom` varchar(100) character set utf8 collate utf8_bin NOT NULL,
`anim_contenu` varchar(1000) character set utf8 collate utf8_bin NOT NULL,
`anim_img` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`anim_categorie` varchar(30) character set utf8 collate utf8_bin NOT NULL,
`anim_genre` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`mot_cle` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`anim_date` date NOT NULL,
PRIMARY KEY (`anim_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=5 ;Code : Tout sélectionner
$req="select* from animations where anim_nom like '%".$nom_anim."%' or anim_date='$date_anim' or anim_categorie='$categorie_anim' or anim_genre='$genre_anim' or mot_cle like '%".$mot_cle."%' order by anim_date";Code : Tout sélectionner
select* from animations where anim_nom like '%%' or anim_date='' or anim_categorie='' or anim_genre='' or mot_cle like '%%' order by anim_dateMerci d'avance pour votre aide.
qui s'affiche en haut à gauche de ce sujet