Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zend Form Select i baza
Forum PHP.pl > Forum > PHP > Frameworki
trylas
witam,
moze to nie jest zbyt skomplikowane ale jakos nie moge ruszyc z tym,
mianowicie chcialbym aby w polu select wywsietlal sie wynik z bazy
musi to byc tablica, tak ?
mam wynik z bazy ktory pobieram za pomoca zend_db_select
no i teraz pytanie jak wrzucic to do addMultioptions zeby bylo tablica i wyswietlalo sie w polu select
oto kod:

  1. $form = new Zend_Form();
  2. $select = new Zend_Form_Element_Select('category');
  3. $select->addMultiOptions(array(0 => ''));
  4. $form->addElement($select);
  5. $this->view->form = $form;


pozdrawiam
seth-kk
toArray() lub w petli
krzyszbi
__toArray raczej na nic się nie zda bo Zend_Form_Element_Select wymaga tablicy
  1. array('id'=>'nazwa');
więc zostaje tylko pętla lub dedykowany model co coś takiego zwróci
trylas
jest ok. ale wyswietla mi wszystko lacznie z nr tablic
jest metoda ktora ogranicz do wskazanego rekordu?

  1. $category = new TableCategory();
  2. $this->category = $category->fetchAll()->toArray();


ano wlasnie Krzyszbi ma racje bo probowalem z Zend_Form_Element_Select i wyrzucalo ze kazdy element musi miec nazwe
a jak ugryzc taka petle albo model? od czego zaczac ... bo ja rookie jestem
krzyszbi
zedytuj posy wyżej aby dało się przeczytać smile.gif coś wymyślimy
seth-kk
uzyj fetchPairs
lub odpowiednio przygotuj selecta zamiast wyciagac wszystko co popadnie - addMultiOptions() wymaga odpowiedniej budowy danych
krzyszbi
  1. $category = new TableCategory();
  2. $this->category = $category->fetchAll()->toArray();

zwróci ci pewnie coś w stylu
  1. 0=> array('id'=>1, 'name'=>'opcja 1','inne pola'=>'dane pola'),
  2. 1=> array('id'=>2, 'name'=>'opcja 2','inne pola'=>'dane pola')
  3. 2=> array('id'=>3, 'name'=>'opcja 3','inne pola'=>'dane pola')
  4. )

a Zend_Form_Element_Select wymaga
  1. 1=>'opcja 1',
  2. 2=>'opcja 2',
  3. 3=>'opcja 3',
  4. )

wiec przerób pętlą lub uzyj jak podał ~seth-kk
trylas
dzieki za pomoc wszystko smiga az milo
  1. $categoryList = new ListCategory();
  2. $categoryList = $categoryList->ListCategory();
  3.  
  4. $element = new Zend_Form_Element_Select('foo', array(
  5. 'multiOptions' => array(
  6. '1' => $categoryList[1],
  7. )
  8. ));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.