Expréssions régulieres pour recherche ds bdd

Fermé
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 9 janv. 2009 à 18:29
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 10 janv. 2009 à 15:19
Bonsoir,
Je souhaite connaitre l'expression régulière qui me permettrait de trouver ce que je cherche dans plusieurs champs d'une table.

Exemple j'ai la table utilisateur. Je veux rechercher un utilisateur. Je cherche donc dans le champ login.

preg_match('expressions régulieres??? ', '$donnees['login']);

Merci cordialement
A voir également:

7 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 18:45
select * from ta_table where ton_champ LIKE '%pattern%'

% indique qu'il peut y avoir quelque chose avant et après, ou un truc dans ce genre^^

cette requête te permettra de chercher dans ta_table tous les ton_champ correspondants à peu près à ton pattern
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
9 janv. 2009 à 18:51
Si l'utilisateur chercher s'appelle xxxéxxxx et le visiteur tape xxxexxxx ça passe pas, donc il faut une expression régulière.
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 18:57
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
9 janv. 2009 à 19:07
Je sais utiliser les expréssions régulière et en créer, j'ai besoin de l'expréssion régulière déjà faite stp, je demande juste la regex et non un script complet
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 19:11
il faudrait faire des tests ^o) ça dépend de tes scripts et de ce que tu veux afficher précisément aussi^^
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
9 janv. 2009 à 19:27
Script de recherche interne comme celui de comment ca marche :), je tape un mot et on m'affiche tout les liens correspondant au mot qui se trouve dans le forum par exemple. :D
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 19:31
while($tab=mysql_fetch_array($query)){

    if(preg_match('#[$tab['varPost']]#i',$tab['titreDuLien'])){
        echo '<a href=le lien......</a>';
    }else{
        continue
    }

}


suggestion^^
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
9 janv. 2009 à 20:06
Je n'ai pas encore coder le script, mais j'ai pas le choix pour bien me faire comprendre.
Je récupère la variable $_POST['chercher'] et le choix de la selection: domaine, filiere, option.
Avec l'exemple du domaine et ensuite j'effectue la recherche.

if(isset($_POST['chercher'$]) && isset($_POST['choix']))
{

   if(!empty($_POST['chercher']))
    {

       $chercher = $_POST['chercher'];
       $choix= $_POST['choix'];

      if( $choix = "domaine" )
        {
           $select = "SELECT domaine,title FROM master_domaine";
           $query = mysql_query ($select) or die (mysql_error());
           while($fetch= mysql_fetch_array($query))
               {
                   if(preg_match("# ???$fecth['domaine']??? #"), $chercher)  // ------------------------//
                        {
                            echo "<a href='domaine.php?domaine=".$fecth['domaine']."'> ".$fecth['domaine']."</a>";
                        }
                   elseif(preg_match("# ???$fecth['title']??? #"), $chercher) 
                       {
                          $selectio = "SELECT domaine,title FROM master_domaine WHERE title=".$fetch['title'].";
                          $querio = mysql_query($selectio);
                          while($fetcho= mysql_fetch_array($querio))
                          {
                            echo "<a href='domaine.php?domaine=".$fectho['domaine']."'> ".$fectho['domaine']."</a>";
                          }
                               
                        }
                  }
          }
    }
}



// ------------------------//


Comment trouver $chercher dans $fecth['title'] et $fecth['domaine'], voilà la question.
0

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

Posez votre question
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 22:50
là déjà tu te plantes ^o) si je comprends bien, $chercher doit se trouver dans le masque, et le second paramètre indique où on cherche, donc plutôt:

if(preg_match("# ???$chercher??? #"), $fecth['domaine']))

if(preg_match("# ???$chercher??? #"), $fecth['title']))
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
9 janv. 2009 à 22:56
J'avais fait cela et ensuite j'ai inversé en modifiant le poste ^^' .
Si t'a compris t'aurais une idée de comment remplacer $chercher par une expression régulière correspondante ?
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
9 janv. 2009 à 23:33
#[\w\s]{0,10}$chercher[\w\s]{0,10}#i

quelque chose comme ça je suppose^^

les ^et $ ne sont peut être pas nécessaires
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
10 janv. 2009 à 15:19
Merci je vais essayer
0