Select * from table where auteur = 'anthony' AND ( droit='admin' OR login='mylogin' )
$req_search = 'SELECT ' . $select . ' FROM ' . $table . ' WHERE' ;
$req_search 'SELECT ' . $select . ' FROM ' . $table . ' WHERE auteur '$login'' ;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$req_search "SELECT $select FROM $table WHERE auteur '$login' " ;
et tes autres clauses avec un AND avant tes autres clauses.
$req_search "SELECT $select FROM $table WHERE auteur '$login' AND " ;
function requete($table, $champs, $select, $order, $sens, $limit_start, $limit_nb, $count = '') { $auteur = $_SESSION['login']; // option de recherche $option = $_POST['option']; // texte de recherche $search = $_POST['search']; // si c'est le premier appel de la fonction if(!isset($fonction_requete)) { static $fonction_requete = 1; // si "Rechercher tous les mots" ou "Rechercher un de ces mots" if($option 'all' || $option 'one') { // liste des mots $mots = explode(' ', $search); // spararateur if($option == 'all') $sep = ' AND '; else $sep = ' OR '; } // if($option 'all' || $option 'one') // "Rechercher l'expression exacte" else { $mots = $search; $sep = ''; } } // if(!isset($fonction_requete)) if(!is_array($champs)) $champs = array($champs); if($option 'all' || $option 'one') { // pour savoir si on en est la premire itration ou non $i = 0; // pour tous les mots foreach($mots as $mot) { if(empty($count)) $req_search "SELECT $select FROM $table WHERE auteur '$login' AND " ; else $req_search = 'SELECT count(' . $count . ') FROM ' . $table . ' WHERE '; if(!$i) { $search = '~#^!|!^#~ LIKE \'%' . $mot . '%\''; $i = 1; } else $search .= $sep . '~#^!|!^#~ LIKE \'%' . $mot . '%\''; } // foreach($mots as $mot) } // if($option 'all' || $option 'one') else if($option == 'sentence') $search = '~#^!|!^#~ LIKE \'%' . $mots . '%\''; $i = 0; // dbut de requte // ajout des champs foreach($champs as $champ) { if(!$i) { $req_search .= '( ' . str_replace('~#^!|!^#~', $champ, $search) .' ) '; $i = 1; } else $req_search .= 'OR ( ' . str_replace('~#^!|!^#~', $champ, $search) .' ) '; } if(empty($count)) { $req_search .= "ORDER BY $order $sens LIMIT $limit_start, $limit_nb"; return $req_search; } }
SELECT champ1,champ2,champ3 FROM matable WHERE auteur = 'anthony' AND ( ( date_entretien LIKE '%%' )
Donc tes regexp ne filtrent pas vraiment.