Ciao funcool, guarda questo è uno script che devo usare solo io, non mi servono le configurazioni delle pizzate...lo script in pratica lo devo solo usare adesso, e mai più...
Ma il punto della situazione è che mi serve sapere in quali date le persone sarebbero disponibili, capisci? E' per quello che mi servono 8 checkbox, ognuno per ogni persona...Cioè, mi spiego meglio: dobbiamo ORGANIZZARE una pizzata, e vogliamo sapere in quale "riga" (di checkbox) ci sono più persone che partecipano, e la pizzata si farà quel giorno lì...
Date un'occhiata alla pagina http://www.websmasher.altervista.org...ta/pizzata.php e capirete perfettamente il problema...
Io in pratica non riesco a creare una funzione che salvi i parametri dei checkbox e delle note in un file, perchè la funzione che legge il file di configurazione e stampa la relativa tabella funziona bene (visibile sempre alla pagina sopraelencata, che è generata automaticamente da un file di testo che si chiama core.txt)
Aspettate, vi posto il codice che mi crea la tabella partendo dal file core.txt
Codice completo tabella dinamica
Codice:
<form method="POST" action="pizzata.php">
<table border="1" width="100%" id="table1" bordercolorlight="#000000" bordercolordark="#000000" style="border-collapse: collapse">
<tr>
<td width="20%">Nome</td>
<td width="52%" colspan="8">Disponibilità</td>
<td width="30%">Note</td>
</tr>
<tr>
<td width="20%" rowspan="2"> </td>
<td width="24%" height="25" colspan="2">Marzo</td>
<td width="26%" height="25" colspan="6">Aprile</td>
<td width="30%" rowspan="2"> </td>
</tr>
<tr>
<td width="7%">30</td>
<td width="7%">31</td>
<td width="6%">7</td>
<td width="6%">8</td>
<td width="6%">14</td>
<td width="6%">15</td>
<td width="6%">20</td>
<td width="6%">21</td>
</tr>
<tr>
<?php
$handle = fopen("core.txt","r");
while(!feof($handle)) {
$buffer = fgets($handle, 4096);
$buffer = fgets($handle, 4096);
if( sscanf($buffer, "%s %s", $id, $nome) == 2 ) {
echo "<td width='20%'>$nome</td>";
$buffer = fgets($handle, 4096);
$tokens = substr($buffer,7);
$arr_tkns = explode(";", $tokens);
$k = 0;
while($k < 8) {
$k2 = $k + 1;
$finale = sprintf("%s%d",$id,$k2);
echo "<td width='7%'><input type='checkbox' name='$finale' value='vero'";
$i = 0; $checked = 0;
if(count($arr_tkns) > 1) while($i < count($arr_tkns)) { if($k+1 == $arr_tkns[$i]) $checked = 1; $i++; }
if($checked == 1) echo " checked></td>";
else echo "></td>";
$k++;
}
$buffer = fgets($handle, 4096);
$note = substr($buffer,5);
$id_note = "S_".$id;
echo "<td width='30%'><textarea rows='2' name='".$id_note."' cols='15'>".$note."</textarea></td></tr>";
}
}
?>
</tr>
</table>
<input type="hidden" value="1" name="salva">
<input type="submit" value="invia">
</form>
Bene...questo crea la pagina completa. Ora, come faccio a salvarmi i contenuti della pagina sempre nel file core.txt, con la stessa tabulazione, ordine e formato del file core.txt?
core.txt
Codice:
_|_|_|_| //separatore di persone
A Nome1 //A = identificatore persona; Nome1 = nome persona
giorni:1;5;8; //giorni: stringa di default per la terza riga; poi numeri separati da ";". Servono a indicare il vettore delle disponibilità in ordine crescente di checkbox
note:nota1 //note: stringa di default per la quarta riga; poi stringa con note, saranno inserite in un <textarea>
_|_|_|_|
B Nome2
giorni:4;8;
note:nota2
_|_|_|_|
C Nome3
giorni:1;6;
note:
_|_|_|_|
D Nome4
giorni:1;2;3;7;
note:ciao
//....e così via