Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
salut
j'ai probleme au niveau appell fonction et j'espere j'aurais de l'aide
bien sur j'applique model MVC . c'est la raison pour laquelle j'ai postulé içi
j'ai déclaré dans ma classe principale fonction suivante
public function liste($brig, array $proc) { $select = $this->select() ->from(array('p' => 'matable'), array('id' => 'id','somme'=>'Round(sum(total),2)','semaine' =>'week(date,1)', 'proc'=>'Proc')) ->where('brig = ?',$brig) ->where('proc =? ',$proc) ->group('week(date,1)') ->order('week(date,1) ASC'); $r= $this->fetchAll($select); return ($r); }
come vous voyer second parametre de ma fonction est un tableau
j'appelle cette fonction dans indexcontroller
function indexAction() { $myArray = array("parametre1","parametre2"); $myArray=array_values($myArray); $this->view->title = "titre"; $calcul= new index(); $this->view->calcul_rc_MA= $calcul_rc->liste('sss',$myArray); }
script marche mais
le probleme c'est le calcul prend toujours premier valeur de tableau et ignore le reste c'est a dire parametre 1
quelqu'un sait coment on peux passer tableau dans parametre de fonction
merçi d'avance
Dernière modification par zend92500 (12-08-2008 11:58:44)
Hors ligne
Je ne suis pas sur de comprendre pourquoi tu veux passer un tableau? Il faut passer une string dans where (voir API)...
Zend_Db_Select where (string $cond, [string $value = null], [constant $type = null])
Hors ligne
merçi pour vos réponse
en faite je débute dans zend
comme vous avez vu dans index controller est de creer des differnetes fonctions dans indexcontroller qui appelle la foncrion principal dans la classe principal
donc par exemple j'ai une table ou j'ai 5 types diffrent d'artiste (jazz,pop,rock, rai....)
et la je cree une fonction qui va me chercher 2 types
autres 3 types etc.
donc je veux pas reproduire la requete dans la classe principal 50 fois ça sera pas logique
Hors ligne
sinon je vais essayer la solution de pozowebs mais je vois pas coment j'appelle cette fonction dans le script view c'est adire fichier .phtml
merçi d'avance
Hors ligne
heuu je n ai pas donne de solution, je disais juste que dans ta fonction liste(), le where attent une string et pas un tableau
->where('proc =? ',$proc)
Hors ligne
salut pozowebs
dans ma fonction j'ai declaré deuxieme parametre proc un array
public function liste($brig , array $proc)
Hors ligne
j'ai trouvé solution
en faite dans my sql avec where on peux ajouter IN
donc dans ma classe principal j'ajoute
->where('proc in(?)',array($proc))
et dans indexcontroller j'appelle cette fonction dont deuxieme parametre est un array
$myArray = array("dddd","fffff"); liste('ee',$myArray);
car pour voux expliquer dans un champs j'ai different valeur donc ça sera pas bien de faire 50 where pour meme champs de table mysql
bref c'est rosolu!!!!!
mais je tyrouve pas le lien résolu malgré que je suis conecté en tant que membre
Hors ligne
ok je viens (enfin) de comprendre ton problème, bien le Where...IN.
Bon, pour mettre résolu c'est tout simple, tu vas modifier ton premier message et tu ajoutes [Résolu] dans le titre (Du moins c'est comme ça que je fais, pas trouvé de boutons non plus).
a+!
Hors ligne
merçi pozowebs !!!
Hors ligne
Pages: 1