Istruttori e checkbox
Istruttori e checkbox postato il 03/12/2008 12:30:16 nel forum programmazione, open source e hosting
sto cercando di implementare una categoria di pg (gli istruttori appunti) che dovrebbero essere i responsabili della formazione dei nuovi personaggi e dei giocatori novelli. Il mio obiettivo (per ora) è di far sì che i master possano designare gli Istruttori. Sto usando GDRCDExtreme. Ho modificato il database affinché la tabella Personaggio contenesse anche la riga Istruttore (con parametro default a 0).
Poi ho modificato il file scheda3.php aggiungendo queste righe:
Istruttore<br>
<form method="post" action="scheda.php?pg=<?= urlencode($pg) ?>">
<input type="checkbox" name="istruttore" value="<?=$rs['Istruttore']?>"/>
ed in effetti mi visualizza la checkbox.
Nel file scheda.php (dove viene effettuato l'aggiornamento del db), ho modificato le righe:
$MySql = "UPDATE Personaggio";
$MySql .= " SET Capacita = '".$capacita."',";
$MySql .= " MaxMente = '".$PF."',";
$MySql .= " Istruttore = '".$Istr."',";
$MySql .= " Arte = '".$PS."'";
$MySql .= " WHERE Nome = '".$pg."'";
dove ovviamente $Istr=$_POST['istruttore'];
solo che ovviamente la checkbox non solo non varia il db, ma non rileva nemmeno i dati dal db (ovvero non rimane spuntata quando Istruttore=1).
Siccome sono una pippa (ancora e purtroppo) chiedo a voi esperti dove ho sbagliato e soprattutto perché.
Pagine → 1
03/12/2008 13:22:56
allora:
- nella checkbox:
non è utile quello che fai, perchè da quello che ho capito vuoi vedere la checkbox segnata quando uno è istruttore.
Per questo devi specificare i casi quindi se istruttore=0 oppure istruttore=1, ed agire sul campo checked della checkbox. In questo modo ti fa vedere la checkbox segnata o meno in corrispondenza del valore.
- nella query:
a parte che non mi ricordo già più cos'hai scritto, non capisco perchè oltre al campo Istruttore aggiorni anche tutta quell'altra roba o.o'
03/12/2008 13:56:21
@new_world: oltre a quello che dici, mi serve che clickando sulla checkbox cambi il valore. La query è così perché aggiorna altri campi oltre a questo.
@black: sto lavorando in php4, non in php5 XD
03/12/2008 14:05:25
zacharia ha scritto: sto cercando di implementare una categoria di pg (gli istruttori appunti) che dovrebbero essere i responsabili della formazione dei nuovi personaggi e dei giocatori novelli. Il mio obiettivo (per ora) è di far sì che i master possano designare gli Istruttori. Sto usando GDRCDExtreme. Ho modificato il database affinché la tabella Personaggio contenesse anche la riga Istruttore (con parametro default a 0).
Poi ho modificato il file scheda3.php aggiungendo queste righe:
Istruttore<br>
<form method="post" action="scheda.php?pg=<?= urlencode($pg) ?>">
<input type="checkbox" name="istruttore" value="<?=$rs['Istruttore']?>"/>
ed in effetti mi visualizza la checkbox.
Nel file scheda.php (dove viene effettuato l'aggiornamento del db), ho modificato le righe:
$MySql = "UPDATE Personaggio";
$MySql .= " SET Capacita = '".$capacita."',";
$MySql .= " MaxMente = '".$PF."',";
$MySql .= " Istruttore = '".$Istr."',";
$MySql .= " Arte = '".$PS."'";
$MySql .= " WHERE Nome = '".$pg."'";
dove ovviamente $Istr=$_POST['istruttore'];
solo che ovviamente la checkbox non solo non varia il db, ma non rileva nemmeno i dati dal db (ovvero non rimane spuntata quando Istruttore=1).
Siccome sono una pippa (ancora e purtroppo) chiedo a voi esperti dove ho sbagliato e soprattutto perché.
Il problema non sta nella query ma nel modo in cui stampi il checkbox che deve essere questo per funzionare correttamente:
<form method="post" action="scheda.php?pg=<?= urlencode($pg) ?>">
<input type="checkbox" name="istruttore" value="1" <?if($rs['Istruttore']==1){echo("checked");}?>"/>
In questo modo il checkbox viene checkato solo se ildato nel db è 1. Poi nella pagina che processa i dati inserisci un controllo sul dato così:
$istruttore=$_POST['istruttore'];
if($istruttore!=1){
$istruttore=0;
}
Ed hai risolto.
03/12/2008 16:29:04
risolto grazie!
03/12/2008 17:20:26
zacharia ha scritto: risolto grazie!
Di nulla è un piacere dare una mano specialmente quando puoi dimostrare la tua superiorità su black. xD
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Enlisted ↗
Fallen Gods ↗
War Thunder ↗
RAID Shadow Legends ↗
Seconda Era ↗
Raja Dunia ↗