Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-07-2008 11:10:24

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

[Résolu] Combiner AND et OR

Bonjour,

Je cherche a faire une requête pour rechercher des éléménts dans ma table.

Voici le genre de requete que je souhaite avoir :

Code:

SELECT `uid` FROM `table` WHERE `actif` = '1' AND (`col1` LIKE '%coucou%' OR `col2` LIKE '%tutu%' OR `col3` LIKE '%tata%') ORDER BY `nom` ASC;

Le soucis c'est que je ne vois pas comment le faire avec la méthode Select :

Code:

$monSelect = $this -> select() -> from ($this -> _name, "uid") -> where ("`actif` = '1'") -> where( ??? ) -> order ("nom")

C'est dans le 2eme where que ça bloque.

J'ai essayé avec un orWhere() mais ça ne donne pas ce que je veux sad

Merci pour vos réponses.

Cordialement,
Kaimite

Dernière modification par Kaimite (29-07-2008 16:50:59)

Hors ligne

 

#2 29-07-2008 10:06:07

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Combiner AND et OR

test avec

Code:

->where(new Zend_Db_Expr("(`col1` LIKE '%coucou%' OR `col2` LIKE '%tutu%' OR `col3` LIKE '%tata%')")

Dès que tu met du "code sql" dans une clause utilsie Zend_Db_Expr wink

Hors ligne

 

#3 29-07-2008 16:50:40

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] Combiner AND et OR

Merci de ta réponse.

C'est finalement ce que j'ai fait. Je me demandais juste si on pouvais le faire avec select();

Bonne journée.

Cordialement,
Kaimite

Hors ligne

 

#4 30-07-2008 07:55:27

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Résolu] Combiner AND et OR

Est-ce que vous avez un réel intérêt (héritage, par ex.) d'utiliser Zend_Db_Expr ? Je profite de ce post pour poser cette question qui me turlupine depuis pas mal de temps, étant donné que cette classe ne fais rien :

Code:

class Zend_Db_Expr
{
    /**
     * Storage for the SQL expression.
     *
     * @var string
     */
    protected $_expression;

    /**
     * Instantiate an expression, which is just a string stored as
     * an instance member variable.
     *
     * @param string $expression The string containing a SQL expression.
     */
    public function __construct($expression)
    {
        $this->_expression = (string) $expression;
    }

    /**
     * @return string The string of the SQL expression stored in this object.
     */
    public function __toString()
    {
        return $this->_expression;
    }

}

Hors ligne

 

#5 30-07-2008 08:05:20

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] Combiner AND et OR

Salut,

Perso j'ai écrit le code SQL sans utiliser cette class...

Cordialement,
Kaimite

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages