Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut
j'ai une requete zend :
$table = new Client_Model_DbTable_maTable(); $select = $table->select(); $select->from($table); foreach ($listeMembre as $membre) { $select->where($membre->getObjet()->getChamps().'="'.$membre->getValeur().'"'); } $rowSet = $table>fetchAll($select);
je veux une methode pour avoir une requette avec plusieure where dans un boucle foreach ...
j'ai utilisé ça :
foreach ($listeMembre as $membre) { $select->where($membre->getObjet()->getChamps(). '="'.$membre->getValeur().'"'); }
et ça ne marche pas
merci de m'aider
Dernière modification par moukit233 (03-09-2009 15:52:01)
Hors ligne
Bonjour,
Essaye plutôt :
$select->where($membre->getObjet()->getChamps(). '= ? ',$membre->getValeur());
Sinon fais attention, les chaînes de caractères en SQL c'est séparé par des ' et pas par des "
Mais dans tous les cas utilise plutôt la syntaxe avec le paramètre ?, ça t'évitera des problèmes d'échappement de caractères (c'est le gros intérêt de Zend_Db_Select).
A+, Philippe
Hors ligne
plusieurs where c'est un AND
$select->where('nom=?', 'PAUL'); $select->where('nom=?', 'JACQUES');
Donne
SELECT ... WHERE nom='PAUL' AND nom='JACQUES'
il te faut utiliser un OR si tu veux tous les jacques et tous les paul
mais pour comprendre d'où vient ton pb il nous faudrait la structure d'un membre et ce que font les méthode getObject, getChamps et getValue
car là c'est plutôt floue
A+HYT
Hors ligne
Pages: 1