Ciao a tutti, come il titolo dice ho la necessita' di selezionare tutte le checkbox con un solo click.
Mi spiego meglio; l'utente vuole prenotare un'appartamento in un determinato periodo dell'anno, scegliendo il giorno, mese, anno sia per l'arrivo che per la partenza, lo script (PHP) mi visualizza un calendario dove accanto ai giorni ho la mia checkbox.
Quello che mi piacerebbe fare (e in JavaScript sono completamente ignorante) e' che con un semplice click tutte le checkbox vengano selezionate.
Posto la parte interessata:
Questo script visualizza il calendario in base alle date passate dall'utente.
Codice PHP:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<?
$month = $mese_arr;
$year = $anno_arr;
//echo "$month";
$time = mktime(0,0,0, $month, 1, $year);
// genera l'array con le informazioni
$date = getdate($time);
// giorni totali per il mese e anno
$day_total = cal_days_in_month(CAL_GREGORIAN, $date['mon'], $date['year']);
//stampa mese e anno in oggetto
//in italiano come intestazione
setlocale(LC_TIME,"it_IT");
$mese_anno = strftime('%B',$date[0]). " " .$year;
$mese_anno = (ucfirst($mese_anno));
echo "<table><tr><td colspan=\"7\">[b]$mese_anno[/b]</td></tr>\n";
// stampa le abbreviazioni dei giorni della settimana
echo "<tr><td align=center>Do</td><td align=center>Lu</td><td align=center>Ma</td><td align=center>Me</td> <td align=center>Gi</td><td align=center>Ve</td><td align=center>Sa</td></tr>\n";
for ($i = 0; $i < 6; $i++)
{
echo '<tr>';
for ($j = 1; $j <= 7; $j++)
{
$day_number = $j + $i*7 - $date['wday'];
//stampa la cella con il giorno
echo '<td width=79 align=center bgcolor=#eeeeee style=font-face:verdana size=1';
if ($day_number > 0 AND $day_number <= $day_total)
{
$day_number = sprintf('%02d', $day_number);
echo " style=\"border: 1px solid #c0c0c0;\" ";
echo ">$day_number";
?>
<input type="checkbox" name="day_number[]" value='<? print($day_number); ?>'>
<?
}
else
{
//stampa una cella vuota se non esiste il giorno
echo '> ';
}
echo '</td>';
}
echo "</tr>\n";
if ($day_number >= $day_total AND $i != 6);
}
echo "</table>\n";
?>
quando faccio insert nel db ho:
Codice PHP:
// etc......
if ($action == "CONFERMA")
{
if ($day_number == (""))
{
echo("impossibile continuare nessun giorno selezionato
");
echo("<a href=javascript:history.back(-1)>back</a>");
exit;
}
foreach ($_POST['day_number'] as $day_number)
{
require ("../../connessione.php");
$righe = 0;
$sql = " Select count(*) as righe from tbl_cale where id_pro = '" . $id_pro . "'";
// $sql = $sql." and day_number = ($_POST['day_number']" ;
$sql = $sql." and day_number = '" . $day_number . "' ";
$sql = $sql." and month = '" . $month . "' ";
$sql = $sql." and year = '" . $year . "'";
$result = mysql_db_query($nome_db,$sql,$db) or die("Errore ".mysql_error());
$row = mysql_fetch_array( $result );
$righe = $row["righe"];
}
if ( $righe != 0 )
{
echo("IMPOSSIBILE PRENOTARE CONTROLLA CHE I GIORNI NON SIANO GIA PRENOTATI");
//echo $day_number;
echo("
");
echo("<a href=javascript:history.back(-1)>back</a>");
exit;
}else{
foreach ($_POST['day_number'] as $data)
{
$sql = "INSERT into tbl_cale (id,id_info,day_number,month,year,pre,id_pro,riferimento,nome_cli,cognome_cli) values ( '','".$id_info."','".$data."','".$month."','".$year."','Y','".$id_pro."','".$riferimento."','".$nome_cli."','".$cognome_cli."')";
mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
Spero di essermi spiegato al meglio e che qualche buona anima mi dia qualche suggerimento.
Grazie!