Buongiorno, premetto che sono una principiante; nel mio Sistema tipo "planning" come prima colonna troviamo i nomi del personale e sulla prima riga tutti i giorni del mese in modo da poter tenere sotto controllo la situazione del personale giornaliera e mensile (ferie, malattie, etc.). Questo sistema ovviamente si interfaccia con un database MYSQL. Mi stato chiesto dalle segreterie che inseriscono gli impegni del personale sul planning di trovare un modo per far apparire un messaggio di errore se nell'intervallo date della persona a cui stanno inserendo un nuovo impegno ci sia già un altro impegno, perché ovviamente se io ho un impegno già registrato dal 1 al 3 agosto e per errore vado ad inserire un altro tipo di impegno dal 3 al 4 agosto, il giorno 3 viene sovrascritto.
Sotto i codici di inserimento:
<?php
if (isset($_POST['inserisci'])) {
if (($_POST['licenze']!=='' and $_POST['servizi']!=='') or ($_POST['licenze']!=='' and $_POST['malattia']!=='') or ($_POST['licenze']!=='' and $_POST['giornaliera']!=='') or ($_POST['licenze']!=='' and $_POST['prolungata']!=='') or ($_POST['servizi']!=='' and $_POST['malattia']!=='') or ($_POST['servizi']!=='' and $_POST['giornaliera']!=='') or ($_POST['servizi']!=='' and $_POST['prolungata']!=='') or ($_POST['malattia']!=='' and $_POST['giornaliera']!=='') or ($_POST['malattia']!=='' and $_POST['prolungata']!=='') or ($_POST['giornaliera']!=='' and $_POST['prolungata']!=='')) {
?><div align="center"><font color="#FF0000"; size="+2"><?php echo "ATTENZIONE! NON PUOI SELEZIONARE PIU' DI UN VALORE."; ?></font></div>
<?php
} else {
if (strlen($_POST['data1'])==9) { $date_11="0".$_POST['data1']; } else { $date_11=$_POST['data1']; }
if (strlen($_POST['data2'])==9) { $date_22="0".$_POST['data2']; } else { $date_22=$_POST['data2']; }
$date_1=explode("-", substr($date_11,6,4)."-".substr($date_11,3,2)."-".substr($date_11,0,2));
$date_2=explode("-", substr($date_22,6,4)."-".substr($date_22,3,2)."-".substr($date_22,0,2));
//gregoriantojd() Converte dal calendario gregoriano a quello giuliano
$diff=0;
if ($_POST['data1']!=='' and $_POST['data2']!=='') {
$inizio=gregoriantojd($date_1[1], $date_1[2], $date_1[0]);
$fine=gregoriantojd($date_2[1], $date_2[2], $date_2[0]);
$diff=$fine - $inizio;
$data= substr($date_11,6,4)."-".substr($date_11,3,2)."-".substr($date_11,0,2);
$valore=0;
}
if ($_POST['licenze']!=='') { $valore=$_POST['licenze']; }
if ($_POST['servizi']!=='') { $valore=$_POST['servizi']; }
if ($_POST['malattia']!=='') { $valore=$_POST['malattia']; }
if ($_POST['giornaliera']!=='') { $valore=$_POST['giornaliera']; }
if ($_POST['prolungata']!=='') { $valore=$_POST['prolungata']; }
if ($_POST['prolungata']=='' and $_POST['giornaliera']=='' and $_POST['malattia']=='' and $_POST['servizi']=='' and $_POST['licenze']=='') { $valore=NULL; }
if ($diff<0 or $_POST['data1']=='' or $_POST['data2']=='') {
?><div align="center"><font color="#FF0000"; size="+2"><?php echo "ATTENZIONE! LE DATE NON SONO STATE INSERITE CORRETTAMENTE."; ?></font></div><?php
} else {
$numero=count($_POST['nome']);
$data_riavvio=$data;
for ($b = 0; $b < $numero; $b++) {
$data=$data_riavvio;
for ($i = 1; $i <= $diff+1; $i++) {
$queryupdate="UPDATE ".$database."forza SET `$data`='$valore' WHERE ID=".$_POST['nome'][$b]."";
$result = mysql_query($queryupdate);
$data = date('Y-m-d', strtotime($data . ' +1 day'));
}
header("Location: modify.php?database=$database&var=$var");
}
}
}
}
?>
Vi ringrazio in anticipo se avete qualche idea.