We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17422
    • 225 Posts
    Bonjour,

    Je cherche à afficher des pages qui commence par une lettre. la requête va regarder dans pagetitle toutes les pages qui commence par une lettre.

    avec Like ça marche nickel pour le premier mot,

    hors j’aimerai que la recherche, regarde tous les mots de pagetitle qui commence par la lettre,

    je pense qu’il faut utiliser REGEXP mais je ne vois pas comment faire,
    j’ai essayé ça mais ça marche pas :

      $criteria = $modx->newQuery('modResource');
      $criteria->where(array(
      'pagetitle REGEXP' => '[^'.$value.']',
      'parent' => 2
    ));
    

      • 36404
      • 307 Posts
      Salut,

      tu peux effectivement utiliser regexp mais comme pour like tu vas devoir construire une expression régulière qui tienne compte de
      - le titre commence par la lettre regexp "^$value.*"
      - le titre contient la lettre précédée d’un espace ou d’une apostrophe
      jette un oeil à ça
      http://dev.mysql.com/doc/refman/5.0/fr/regexp.html
      tu verras, tu prenais un mauvais départ, dans ton expression tu utilises [] qui entoure une classe de caractères pas une chaîne smiley

      sinon avec like, tu peux aussi tenter "like ’$value%’ or like ’% $value%’ or like ’%\’$value%’"
      pas testé mais un truc du genre devrait marcher

      have swing
        réfléchir avant d'agir
        • 17422
        • 225 Posts
        Merci pour ta réponse.

        j’ai testé avec % $value% et ça marche nickel smiley


        Laurent