recuperer un partie d un champ dans un requete JDatabase : comment utiliser substr ?

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

  • recuperer un partie d un champ dans un requete JDatabase : comment utiliser substr ?

    Bonjour,
    Pour un composant maison, je travaille sur une requete de ce type :
    Code:
    $query_>select($db->quoteName(array('title'),array('text')));
    $query->from($db->quoteName('#__viewlevels'));
    j'aimerais transformer cette requete pour ne récupérer du champ title que le texte au dela du 6ème caractère. En sql cela se fait avec substr :
    Code:
    SELECT substr(title,6) FROM `u4m3t_viewlevels`
    Comment faire l'équivalent dans ma première requête ?
    Merci de vos réponses.
    Cordialement

  • #2
    Re : recuperer un partie d un champ dans un requete JDatabase : comment utiliser subs

    En consultant la librairie libraries\joomla\database\query.php je ne vois pas de fonction substr, je crois que tu en es pour passer la requête brute
    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : recuperer un partie d un champ dans un requete JDatabase : comment utiliser subs

      Merci webcrea. Je fais donc faire ma manip en php.

      Commentaire


      • #4
        Re : recuperer un partie d un champ dans un requete JDatabase : comment utiliser subs

        Oups, en voulant marquer la discussion comme "résolue", cela l'a aussi verrouillée (comment faire l'un sans l'autre?). Mais un membre m'a fait une réponse privée, que je replace ici pour l'intéret de tous :

        ----------------------------------------------------------------------------------------
        Hello.
        Tu as vite fermé ta discussion...

        Il vaudrait mieux utiliser les classes de Joomla pour l'accès à le DB et extraire la partie du champ qui t’intéresses par substr ensuite.
        Sinon tu perds l’intérêt du FrameWork et en particulier celui de la classe JDataBase...
        ----------------------------------------------------------------------------------------
        En fait, j'ai continué de la manière suivant :
        Code:
                $query->select($db->quoteName(array('id'),array('value')))
                        ->select($db->quoteName(array('title') ,array('text')));
                $query->from($db->quoteName('#__viewlevels'));
                $db->setQuery($query);
                $options = $db->loadObjectList();
                //on transforme les resultats pour supprimer les 5 premiers caracteres de title 
                $nb = count($options); // nombre d elements retournes
                [B]for($i=0;$i<$nb;$i++)
                        {
                        $options[$i]->text = substr($options[$i]->text,5);
                        }[/B]
                return $options;
        Est-ce comme cela qu'il m'était conseillé de faire ?
        Merci

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X