Gestire form a tendina con Zend da Database!

salve, non sono nuovissimo, seguo comunque spesso il forum,visto che è qui che ho imparato a programmare, e ho fatto uno sgarbo al signor Tomasicchio scrivendogli privatamente!

Per farmi perdonare, metto a nudo la questione e la pongo a voi, che sicuramente sapete molto, molto più di me di questo bellissimo Framework!

Avrei bisogno di creare dei form "a tendina" con dentro delle scelte prese dal database, sò che c'è una libreria dedita a questa cosa, ma non sono riuscito a capire qual'è (avendo uno scarsissimo inglese) e se pur l'avessi capito...adesso starei chiedendo come utilizzarla...

qualcuno di voi può aiutarmi?

Vi ringrazio moltissimo

Francesco

inviato 8 anni fa
vulpiani
X 0 X

19.6.13. Zend_Form_Element_Select

Select boxes are a common way of limiting to specific choices for a given form datum. Zend_Form_Element_Select allows you to generate these quickly and easily.

By default, this element registers an InArray validator which validates against the array keys of registered options. You can disable this behavior by either calling setRegisterInArrayValidator(false), or by passing a false value to the registerInArrayValidator configuration key.

As it extends the base Multi element, the following methods may be used to manipulate the select options:

    *

      addMultiOption($option, $value)

    *

      addMultiOptions(array $options)

    *

      setMultiOptions(array $options) (overwrites existing options)

    *

      getMultiOption($option)

    *

      getMultiOptions()

    *

      removeMultiOption($option)

    *

      clearMultiOptions()

Zend_Form_Element_Select uses the 'formSelect' view helper for decoration. 

ecco qui la libreria presente in Zend!

Come si usa? non c'è bisogno di un require once per richiamarla?

devo creare un controller e un model per farla funzionare?

ho creato una cosa del genere per il model, ma credo sia stupida e inefficace

<?php

class Form
{
    
    public function viewForm()
    {
        $db = Zend_Form_Element_Select::get('db');
      $sql = 'SELECT * FROM locali ORDER BY Locali DESC';
      $jons = $db->fetchAll($sql);
                
      addMultiOption ($jons);

      
      
    }
    }

?>

Cosa dovrei scriverci realmente? cosa dovrei fare?

Vi ringrazio

Francesco

risposto 8 anni fa
vulpiani
X 0 X

Nessuno conosce questa libreria eh?

risposto 8 anni fa
vulpiani
X 0 X

almeno una risposta di consolazione?

risposto 8 anni fa
vulpiani
X 0 X

Le classi che appartengono al componente Zend_Form possono essere utilizate per la visualizzazione di un form per la lettua ed il controllo dei dati inseriti dall'utente.

Come ripostato nella documentazione ufficiale, per lavorare con Zend_Form isogna creare un nuovo oggetto Zend_Form, impostare l'Action, aggiungere gli elementi che sotituiscono il form (pulsanti, campi di testo, select, ecc.), evetualmente aggiungere dei validatori, specificare i campi obbligatori ed infine effettuarne il rendering nello script di view.

La classe Zend_Form_Element_Select permette di aggiungere una select allo Zend_Form. basta creare un oggetto di tipo Zend_Form_Element_Select, aggiungere le varie opzioni a tale oggetto magari attraverso il metodo addMultiOptions a cui va passato un array associativo contenenete tutte le opzioni che desideriamo mostrare nella select insieme ai valori relativi, ed infine aggiungere tale oggetto al form.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

potresti farmi un semplice esempio per favore? mi sono perso :(

risposto 8 anni fa
vulpiani
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda