Recherche sous-chaine dans 1 chaine

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Recherche sous-chaine dans 1 chaine

    Mon environnement : joomla 3.5.0, linux ubuntu 12.04, php5 (dernière version), localhost apache2 (site en développement).

    Je tente désespérément d'utiliser la fonction php de recherche d'une sous-chaîne à l'intérieur d'une chaîne avec insensibilité à la casse.
    J'ai choisi la fonction stristr() à l'intérieur d'une requête sql.

    Mais j'obtiens systématiquement l'erreur : "fonction inexistante" !

    Comment en sortir ? Merci d'avance pour vos conseils.
    Dernière édition par Visiteur à 17/04/2016, 11h12

  • #2
    Re : Recherche sous-chaine dans 1 chaine

    Peut-être convient-il d'inclure une bibliothèque complémentaire dans php5, voire même de passer à php7 ?
    Mais je suis surpris de lire que cette fonction stristr() existerait depuis la version php4 !
    Dernière édition par Visiteur à 17/04/2016, 11h11

    Commentaire


    • #3
      Re : Recherche sous-chaine dans 1 chaine

      Je vais peut-être dire une bêtise, mais je ne pense pas que tu puisses utiliser une fonction PHP dans une requête SQL.
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Re : Recherche sous-chaine dans 1 chaine

        Je vais peut-être dire une bêtise, mais je ne pense pas que tu puisses utiliser une fonction PHP dans une requête SQL.
        +1, pour moi j'en suis resté à l'opérateur LIKE

        Le plus surprenant est l'assertion :
        nb : résultat identique au sein d'un script en simple php
        Peut-on avoir un exemple du code utilisé ?
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : Recherche sous-chaine dans 1 chaine

          @ RobertG :
          tu pourrais bien avoir raison sur cette incompatibilité totale. Je vais donc chercher une toute autre solution ... avec plus de programmation à ma charge.
          Merci à toi.

          @ lomart :
          j'ai commis une belle erreur en étant aussi affirmatif : ce test a été réalisé dans une requête sql très simplifiée, mais c'était bien encore en sql (et non en php) !!!
          Autant pour moi !
          Merci pour votre aide un dimanche.

          Commentaire


          • #6
            Re : Recherche sous-chaine dans 1 chaine

            Et voilà : ça marche enfin en simplifiant mon filtre sql, et en terminant ce filtre en php à partir des résultats sql. Mais cette fonction n'est pas évidente à utiliser. J'ai détecté, après de nombreux tests, qu'elle répond le mieux si on déclare : soit if (stristr($contenant, $contenu) !== false) { ... ou bien if (stristr($contenant, $contenu) === false) { ...
            Les tests avec "true" ne donnent rien. C'est assez déconcertant !

            Commentaire


            • #7
              Re : Recherche sous-chaine dans 1 chaine

              Essaie avec 1 et 0 pour true et false.

              As-tu essayé avec un like ?

              select * from #_matable where col1 LIKE '%foo%'
              UP, le plugin universel à découvrir sur https//up.lomart.fr
              bgMax
              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

              Commentaire


              • #8
                Re : Recherche sous-chaine dans 1 chaine

                @ lomart :
                cette facilité offerte par "like" m'avait complètement échappé. Je viens de la tester et tout fonctionne à merveille.
                Merci beaucoup de tes précieux conseils.

                Commentaire


                • #9
                  Re : Recherche sous-chaine dans 1 chaine

                  Envoyé par lendrevi Voir le message
                  @ lomart :
                  cette facilité offerte par "like" m'avait complètement échappé. Je viens de la tester et tout fonctionne à merveille.
                  Merci beaucoup de tes précieux conseils.
                  A tout hasard, tu peux aussi lire cet article http://cinnk.com/magazine/fevrier-20...oomla-partie-2
                  qui étudie entre autre les différentes méthodes de recherche en SQL avec Joomla!

                  Cordialement
                  Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                  Commentaire


                  • #10
                    Re : Recherche sous-chaine dans 1 chaine

                    @ PieceOfCake :
                    Merci pour ta contribution. Ton article m'éclaire bien sur les différentes possibilités de recherche avec Sql.
                    Mon problème était assez simple, et "like" me va fort bien. Mais pour des questions de performance à venir, j'étudierai rapidement la codification des "regex" (j'en ignore tout).
                    Encore merci.

                    ps : l'entraide sous Joomla est un vrai bonheur !

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X