mysql - How can I insert data from a table from sql into a dropdown list in zend framework 2? -
mysql - How can I insert data from a table from sql into a dropdown list in zend framework 2? -
i need insert multioptions dropdown list, options taken table database. created elements like:
$this->add(array( 'name' => 'company', 'type' => 'zend\form\element\select', //'multioptions'=> $options, 'options' => array( 'label' => 'company', ), 'attributes' => array( 'style' => "float:right;", ), ));
i want take dropdown list values in table in database. illustration have entity contacts , need take contact company in table named companies in database.
after reading on zend framework's site, tried using code:
$params = array( 'driver'=>'pdo_mysql', 'host'=>'localhost', 'username'=>'root', 'password'=>'', 'dbname' =>'mydatabase' ); $db = new \zend\db\adapter\adapter($params); $sql= new sql($db); $select = $sql->select(); $select ->from('companies') ->columns(array('id','company_name')) ->order(" 'company_name' asc");
i read on other sites utilize function:
$options = $sql->fetchpairs('select id, name country order name asc');
but seems doesn't exist anymore in zend framework 2.
please guys, give me hand. if code isn't , have improve idea, please tell me.
thanks in advance!
this quick , dirty answer, guess can started.
createservicefactory
, should done in separate mill class instead of closure, still utilize closure - faster write ;) get config servicelocator
have access db-params create default sql stuff retriefe value_options
populate value_options
using setvalueoptions($valueoptions)
function of given form-element module.php getserviceconfig()
return array( 'factories' => array( 'my-form-factory' => function($servicelocator) { $form = new my\form(); $config = $servicelocator->get('config'); $db = new \zend\db\auth\adapter\adapter($config['dbparams']); //or whatever named array key $sql = //do sql stuff // false array, should $sql result in given format $result = array('value' => 'label', 'value2' => 'label2'); $form->get('elementtopopulate')->setvalueoptions($result); homecoming $form; } ) );
somecontroller.php someaction()
$form = $this->getservicelocator()->get('my-form-factory'); homecoming new viewmodel(array( 'form' => $form ));
i hope gets started
mysql zend-framework2
Comments
Post a Comment