ci combatto sopra da due giorni senza nessun risultato...
![]()
ci combatto sopra da due giorni senza nessun risultato...
![]()
Ciao!
Farei una cosa del genere....Originariamente inviato da fmortara
ci combatto sopra da due giorni senza nessun risultato...
![]()
vedi se ti va bene ...codice:<?php $var = 's'; $var1 = 'n'; Function Checked($campo) { global $radio_s, $radio_n; $radio_s = ''; $radio_n = ''; if($campo == "s") { return $radio_s = "checked"; } elseif ($campo == "n") { return $radio_n = "checked"; } return; } ?> <form action="pagina.php" method="POST"> campotext: <input type="text" name"campotext" value="campotext"> camporadio: SI<input type="radio" name="camporadio" <?php Checked($var); echo $radio_s ?> > - NO<input type="radio" name="camporadio" <? echo $radio_n ?> > campopippo: SI<input type="radio" name="campopippo" <?php Checked($var1); echo $radio_s ?> > - NO<input type="radio" name="campopippo" <? echo $radio_n ?> > </form>![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
allora, sicuramente va bene in quanto a logica, ma ho una piccola modifica da chiederti:
i campi che io mando alla funzione sono i seguenti:
il valore (s o n).
il nome del campo.
quello che mi serve è questo:
dato tramite funzione:
io vorrei che la funzione mi restituisse come return una varabile del tipo:Codice PHP:funz($valore_campo, $nome_campo) {
se nome_campo = "pippo"
allora mi deve restituire le seguenti due variabili:
$pippo_s e $pippo_n con i rispettivi valori se checked o meno....
come faccio????
}
Ciao!
codice:Function Checked($nome, $campo) { global $radio_s, $radio_n; $radio_s = ''; $radio_n = ''; if($nome == 'pippo') { if($campo == "s") { return $radio_s = "checked"; } elseif ($campo == "n") { return $radio_n = "checked"; } } return; } Checked($nome, $valore);
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
allora:Originariamente inviato da piero.mac
codice:Function Checked($nome, $campo) { global $radio_s, $radio_n; $radio_s = ''; $radio_n = ''; if($nome == 'pippo') { if($campo == "s") { return $radio_s = "checked"; } elseif ($campo == "n") { return $radio_n = "checked"; } } return; } Checked($nome, $valore);
![]()
io uso un template che in ogni campo radio alla fine è presente la variabile $nome_campo_s o $nome_campo_n
cosi:
io devo stabilire in base ai dati nel mio db se i valori attuali (quindi prima dell'update ) sono a si o no per mettere i valori di checked in maniera corretta.Codice PHP:si:<input type="radio" name="$nome" $nome_s>
no:<input type="radio" name="$nome" $nome_n>
si:<input type="radio" name="$cognome" $cognome_s>
no:<input type="radio" name="$cognome" $cognome_n>
si:<input type="radio" name="$telefono" $telefono_s>
no:<input type="radio" name="$felefono" $telefono_n>
attualmentne faccio come vedi nel primo messaggio per ogni riga ma vorrei fare una funzione che dati:
nomecampo
valore (s/n)
mi restituisca i valori da impostare nel form.
se per esempio il nome del campo è pippo mi deve restituire $pippo_s e $pippo_n valorizzate a seconda del valore attuale di pippo.
la funzione che hai fatto tu va bene, anche io avevo fatto in questo modo, ma anziche restituire $radio_n e $radio_s io vorrei che mi restituisse $nome_campo_s e $nome_campo_n che io posso passare come argomenti alla funzione stessa.
es:
come faccio??Codice PHP://ecco la riga:
radio ($var, cognome);
//che diventa:
radio("s", cognome);
//allora la mia funzione mi dovrebbe restituire:
$nome_campo_s = "checked";
$nome_campo_n = "";
//quindi:
$cognome_s = "checked";
$cognome_n = "";
mi ci sto perdendo...
:master:
ma si può fare??
Ciao!
in pratica, mi deve restituire un variabile che si chiama come il nome del campo + _n o _n
cioè:
$campo = "pippo";
io voglio:
$pippo_s
$pippo_n
ovviamente valorizzate!
![]()
![]()
![]()
Ciao!
mi sembra che tu stia arrancando su un collo di bottiglia.
Se passi il nome alla funzione significa che il nome gia' lo hai. Se il nome e' "un certo" nome vuoi il checked. Questa e' la premessa. poi devi chiarire se mandi l'output con echo o direttamente con html.
Facciamo finta che usi un echo
in pratica richiami la funzione in tutte le righe. Se il valore che metti in Checked($nome, $valore) non e' quello previsto dalla if della funzione ti ritorna le stringhe vuote.codice:La funzione che funziona echo " si:<input type='radio' name='$nome'" .Checked($nome, $valore). " $nome_s> no:<input type='radio' name='$nome' $nome_n> si:<input type='radio' name='$cognome'" .Checked($cognome, $valore). " $nome_s> no:<input type='radio' name='$cognome' $nome_n> si:<input type='radio' name='$telefono'" .Checked($telefono, $valore). " $nome_s> no:<input type='radio' name='$telefono' $nome_n> ";
Se vuoi altre cose basta che passi le altre cose che ti pare ed i valori che vuoi. In altre parole ... se la soluzione la conoscevi gia' che posti a fare?
ps.:
ho visto l'aggiunta ultima e ti confesso che non ci capisco nulla.
Per essere precisi si deve vedere il dato che estrai, come deve essere manipolato e come e dove deve comparire. cosi' e' semplicemente una cosa caotica.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
io ho bisogno di avere:
anzichè $radio_s e $radio_n $$campo_s e $$campo_n che diventano (se $campo = "nome"; ) $nome_s e $nome_n (lo so che non si scrive così, ma se io devo assegnare ad una variabile non solo il valore ma anche il nome come faccio??Codice PHP:Function Checked($nome, $campo) {
global $radio_s, $radio_n;
$radio_s = '';
$radio_n = '';
if($nome == 'pippo') {
if($campo == "s") {
return $radio_s = "checked";
} elseif ($campo == "n") {
return $radio_n = "checked";
}
}
return;
}
Checked($nome, $valore);
![]()
Ciao!
il problema e' che sei partito da una situazione, poi man mano hai evoluto il problema fino ad arrivare alla versione attuale. Ma non si tratta di una evoluzione di un problema da risolvere ma di un problema diverso e quindi non si puo' fare la patch della patch della patch.
I dati devono essere reali. Da dove li estrai, che valori hanno, e quali valori devono assumere, dove devono essere messi??? Quali le condizioni?
se prima funzionava, come hai detto, lascialo funzionare com'era....
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Allora, la soluzione è questa!
grazie a tutti!!Codice PHP:Function Checked($valore, $campo) {
${$campo.'_s'} = "";
${$campo.'_n'} = "";
if($valore == "s") {
${$campo.'_s'} = "checked";
} elseif ($valore == "n") {
${$campo.'_n'} = "checked";
}
return ${$campo.'_s'}, ${$campo.'_n'};
}
Ciao!