Autore Topic: Select popolata da DB  (Letto 732 volte)

Offline mpigio

  • Appassionato
  • ***
  • Post: 235
  • Sesso: Maschio
    • Mostra profilo
Select popolata da DB
« il: 27 Ago 2012, 12:39:04 »
Ciao a tutti, nella form di edit di un singolo item (utente) vorrei inserire in una select dei valori presi da DB (per indicare il gruppo di appartenenza), il codice che utilizzo per mostrare i field della form è il seguente


Codice: [Seleziona]
<?php    foreach ($this->form->getFieldset() as $field) { ?>

            <li><?php echo $field->label?><?php echo $field->input?></li>
<?php    ?>

Dal file XML prende l'elenco dei campi, e la query carica direttamente da db.

com_lifemessages\admin\models\forms\user.xml
Codice: [Seleziona]
...
<field name="group_id"
            type="sql"
            default="0"
            label="COM_LIFEMESSAGES_USER_GROUP"
            query="SELECT id, name FROM #__lifemessages_groups"
            key_field="id"
            value_field="name"
        />
...

Ma vorrei dare la possibilità di non scegliere alcun valore (gruppo) aggiungendo "Nessun valore" in testa alla select, è possibile?

Grazie per l'aiuto

AGGIORNAMENTO:
Ho parzialmente risolto con la query

query="SELECT 0 AS id, 'none' AS name UNION SELECT id, name FROM #__lifemessages_groups"

però da qui non credo si possa inserire un valore traducibile, quindi il none rimane tale anche se inserisco una stringa presente nei file di traduzione, voi come fate?
« Ultima modifica: 27 Ago 2012, 12:58:51 da mpigio »

Offline blufix79

  • Nuovo arrivato
  • *
  • Post: 24
    • Mostra profilo
Re:Select popolata da DB
« Risposta #1 il: 05 Set 2012, 07:44:00 »
Ciao, non so se ho capito bene quello che voi fare, ovvero avere sempre e comunque come prima voce nella select l'opzione "Nessun Valore", inoltre questa opzione non è presente nel db è tu hai risolto parzialmente con quella query. Se ho capito bene allora io farei semplicemente cosi:


Codice: [Seleziona]
<?php
   $fields
"<li>".JText::_('none').<"/li">;
   foreach (
$this->form->getFieldset() as $field) {
      
$fields.="<li>".$field->label.$field->input."</li>";
   }
    echo 
$fields;
   
?>
   


è molto semplice (sempre se ho capito bene cosa vuoi fare), magari chi è più esperto di me può indicarti una soluzione migliore.
« Ultima modifica: 05 Set 2012, 07:46:58 da blufix79 »

Offline mpigio

  • Appassionato
  • ***
  • Post: 235
  • Sesso: Maschio
    • Mostra profilo
Re:Select popolata da DB
« Risposta #2 il: 05 Set 2012, 09:32:30 »
Ciao blufix79, grazie per l'indicazione però quel ciclo carica i diversi campi e soltanto un field è la select a cui vorrei aggiungere il valore indicato. Gli altri field sono textbox.

Potrei aggiungere un controllo sull'id del field e aggiungere solo in quel caso il valore "none".

Ma a nessuno è mai capitato?

mau_develop

  • Visitatore

 

Host

Torna su