Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-02-2008 15:10:04

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

[Résolu] Requete un peu complexe ( where (...OR...) AND (...OR...) )

Salut à tous.

J'ai jamais trop réussi à me concentrer quand il s'agit de base de données et je voulais avoir vos expériences sur le "comment qu'on fait une requete un peu longue".
Alors pour faire simple voici ce que je veux faire comme type de requete:

Code:

SELECT * 
FROM table
WHERE (
        (champ1 = x OR champ1 = y)
    AND (champ2 = a OR champ1 = 2)

J'utilise Zend_Db_Table. J'ai vu qu'il est possible de faire des requêtes de la manière suivante:

Code:

$table = new MyTable();

$select = $table->select()->where()->whereOR()->join()...
$table->fetchAll($select);

J'ai regardé vite fait comment faire sans trop avoir de réponse (et trop envie de chercher). Quelqu'un a-t-il une piste?

Hors ligne

 

#2 20-02-2008 16:41:20

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Requete un peu complexe ( where (...OR...) AND (...OR...) )

J'ai déjà eu ce genre de cas.

Tu n'as apparemment pas de méthode direct possible pour faire la partie ("champ1 = x OR champ1 = y") comme tu l'as écrit.
sinon voilà pour ce que tu voulais :

Code:

$db = Zend_Registry::get('db');    
$select = $db->select();
$select->from('table','*')
      ->where('champ1 = x OR champ1 = y')
      ->where('champ2 = a OR champ1 = 2');
echo $select;

// renvoie
SELECT `table`.* 
FROM `table` 
WHERE 
    (champ1 = x OR champ1 = y) 
   AND (champ2 = a OR champ1 = 2)

Dernière modification par Roulio (20-02-2008 16:42:12)

Hors ligne

 

#3 20-02-2008 16:53:54

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

Re: [Résolu] Requete un peu complexe ( where (...OR...) AND (...OR...) )

J'ai fais comme ça en effet.
Merci quand même smile

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