PHP5
ahm_had
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
ahm_had Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
ahm_had Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je développe un module de gestion de caisse avec php5 et mysql, donc j'ai un problème au niveau de la fonction recherche, la recherche se fait en fonctionde 5 parametres soit on peut les avoir tous sopit qlque 1 soit aucun mias en tt cas la recherche doit nous donner un resultat alors est-ce-qu'il y a qeulqu'1 qui peut me donner la requette mysql qui permet de verefier si les champs sont rempli donc on affiche tt les info sinn on test et la rechechre se fait en fonction les champs remplis
MERCI
je développe un module de gestion de caisse avec php5 et mysql, donc j'ai un problème au niveau de la fonction recherche, la recherche se fait en fonctionde 5 parametres soit on peut les avoir tous sopit qlque 1 soit aucun mias en tt cas la recherche doit nous donner un resultat alors est-ce-qu'il y a qeulqu'1 qui peut me donner la requette mysql qui permet de verefier si les champs sont rempli donc on affiche tt les info sinn on test et la rechechre se fait en fonction les champs remplis
MERCI
4 réponses
Bonjour,
Il suffit de construire ta requête SQL pour n'inclure dans la clause WHERE que les paramètres définis.
Par exemple :
Xavier
Il suffit de construire ta requête SQL pour n'inclure dans la clause WHERE que les paramètres définis.
Par exemple :
$sql = 'SELECT * FROM table '; $premierChamp = true; if (isset($param1) && $param1 != '') { $debut = ($premierChamp) ? 'WHERE ' : 'AND '; $premierChamp = false; $sql .= $debut . "champ1 = '$param1' "; } if (isset($param2) && $param2 != '') { $debut = ($premierChamp) ? 'WHERE ' : 'AND '; $premierChamp = false; $sql .= $debut . "champ2 = '$param2' "; } if (isset($param3) && $param3 != '') { $debut = ($premierChamp) ? 'WHERE ' : 'AND '; $premierChamp = false; $sql .= $debut . "champ3 = '$param3' "; } ... mysql_query($sql);
Xavier
Reivax962
Merci pour votre reponse mais voila la solution que j'ai pu faire et ca a marché
function ListeMouvement ( $nature_id, $executeur_id, $responsable_id, $date_debut, $date_fin){
$data = $this->connexion->DB;
try{
$query = " SELECT c.*,n.nature_intitule FROM nature n JOIN caisse c " ;
$WHERE = "1";
if(!is_numeric($nature_id)) $WHERE .= " AND nature_id =".$nature_id;
if(!is_numeric($executeur_id)) $WHERE .= " AND executeur_id=".$executeur_id;
if(!is_numeric($responsable_id)) $WHERE .= " AND responsable_id=".$responsable_id;
if(!empty($date_debut)) $WHERE .= " AND date_debut=".$date_debut;
if(!empty($date_fin)) $WHERE .= " AND date_fin=".$date_fin;
$query .= $WHERE;
$result = $data->Execute( $query );
return ( $result );
}
catch( Exception $e ){
return $e;
}
}
Merci pour votre reponse mais voila la solution que j'ai pu faire et ca a marché
function ListeMouvement ( $nature_id, $executeur_id, $responsable_id, $date_debut, $date_fin){
$data = $this->connexion->DB;
try{
$query = " SELECT c.*,n.nature_intitule FROM nature n JOIN caisse c " ;
$WHERE = "1";
if(!is_numeric($nature_id)) $WHERE .= " AND nature_id =".$nature_id;
if(!is_numeric($executeur_id)) $WHERE .= " AND executeur_id=".$executeur_id;
if(!is_numeric($responsable_id)) $WHERE .= " AND responsable_id=".$responsable_id;
if(!empty($date_debut)) $WHERE .= " AND date_debut=".$date_debut;
if(!empty($date_fin)) $WHERE .= " AND date_fin=".$date_fin;
$query .= $WHERE;
$result = $data->Execute( $query );
return ( $result );
}
catch( Exception $e ){
return $e;
}
}