Joomla.it Forum
Componenti per Joomla! => Gestione Form => : nocciola00 03 Nov 2013, 19:45:34
-
Ciao a tutti,
mi scuso subito se la soluzione si trova in già in rete, ma sinceramente non sono riuscita a trovala, forse perchè magari è molto semplice e viene data per scontata. Purtroppo sono alle prime armi con chronoforms e php!
Il problema è questo:
la tabella contiene id studente e voto diploma. Successivamente ho inserito una checkbox per una eventuale lode (nome del campo: lode_tab).
Il codice per la visualizzazione della tabella è il seguente:
<ul>
<?php foreach ($form->data['elenco'] as $r) : ?>
<li><?php echo $r['cf_id']." ".$r['voto_tab']." ".$r['lode_tab']; ?></li>
<?php endforeach; ?>
</ul>
Come devo modificare il codice in modo che visualizzi "si" o "no" nell'elenco dei record?
Grazie
-
chi si rivede... ;D
dipende da che hai inserito nel db, essendo un campo binario, immagino che tu abbia inserito 1 per sì e 0 per no.
quindi usando l'operatore ternario di php:
($r['lode_tab']?'sì':'no')
anche se le variabili in php non sono tipizzate, è più elegante un cast esplicito (nel caso tu abbia salvato il valore come stringa):
((int)$r['lode_tab']?'sì':'no')
ps: visto che si tratta di un compito per la scuola ricordiamoci che 'sì' vuole l'accento! ;)
ciao,
marco
-
chi si rivede... ;D
:) :) :)
dipende da che hai inserito nel db, essendo un campo binario, immagino che tu abbia inserito 1 per sì e 0 per no.
In che senso? quando ho inserito il record ho solo flaggato la textbox, non ho inserito niente ...
-
textbox o checkbox? immagino ti riferissi a quest'ultima.
il campo checkbox ha un attributo value che non hai valorizzato:
<input type="checkbox" id="lode_tab" name="lode_tab" title="" value="">
(codice preso dal tuo sito)
ora quando si spunta la casella vengono inviati al server sia il nome del campo sia il valore, che appunto non hai indicato (io farei: value="1"), in caso contrario il campo non viene inviato.
questo valore, e qui conta il tipo, verrà poi inserito nella tabella. quindi essendo un campo binario la definizione più logica per il campo nel db è tinyint, not null, default(0).
(hai aggiunto il campo alla tabella, vero)?
a questo punto diventa operativo il codice di cui sopra.
ciao
-
fatta anche questa! :D
Grazie ancora
p.s. avevo fatto un po' di confusione sia sulla configurazione del campo in tabella sia sulla configurazione della checkbox