Witam serdecznie!
Czy ktoś mógłby mnie naprowadzić jak zrobić żeby w wyświetlanej tabeli w polu ilość dni pojawiła się obliczona wartość po wpisaniu daty w pole od i do. Wpisuję np. w pole od 2008-11-12 i w pole do 2008-11-28 i powinna się pokazać w tabeli wartość obliczona przez funkcję workDays.
Z góry dziękuję za pomoc.
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>baza</TITLE>
</HEAD>
<BODY>
<? // Aplikacja daje nam możliwość odczytu, kasowania, dodawania
// i poprway danych w bazie.
mysql_connect ("localhost", "root", "") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("ksiazkatelefoniczna") or
die ("Nie można połączyć się z bazą ksiazkatelefoniczna");
if ($co == 'dodaj') { // dodawanie rekordu
if ($imie && $nazwisko && $telefon && $od && $do) {
$query = "INSERT INTO ksiazkatelefoniczna (nr, imie, nazwisko, ";
$query .= "telefon, od, do, iloscdni) VALUES ('', '$imie', '$nazwisko', '$telefon', '$od', '$do'$iloscdni');";
$wynik = mysql_query ($query);
}
} elseif ($co == 'popraw') { // poprawianie rekordu
if ($imie && $nazwisko && $telefon && $od && $do) {
$query = "UPDATE ksiazkatelefoniczna SET imie='$imie', nazwisko=";
$query .= "'$nazwisko', telefon='$telefon', od='$od', do='$do',iloscdni=$iloscdni, WHERE nr='$id';";
$wynik = mysql_query ($query);
}
} elseif ($co == 'edytuj') { // przygotowanie do poprawek
$query = "SELECT * FROM ksiazkatelefoniczna where nr='$id';";
$wynik = mysql_query ($query);
$rekord = mysql_fetch_array ($wynik);
$id = $rekord[0]; $imie = $rekord[1]; $nazwisko = $rekord[2];
$telefon = $rekord[3]; $od = $rekord[4]; $do = $rekord[5]; $iloscdni=$rekord[6];
print '<FORM METHOD="POST">Poprawa rekordu:';
print '<INPUT TYPE="hidden" NAME="co" VALUE="popraw">';
print '<INPUT TYPE="hidden" NAME="id" VALUE="'.$id.'"><TABLE>';
print '<TR><TD>Imię:</TD><TD><INPUT TYPE="text" ';
print 'NAME="imie" VALUE="'.$imie.'"></TD></TR><TR><TD>Nazwisko:';
print '</TD><TD><INPUT TYPE="text" NAME="nazwisko"';
print 'VALUE="'.$nazwisko;
print '"></TD></TR><TR><TD>Telefon:</TD><TD><INPUT TYPE="text"';
print 'NAME="telefon" VALUE="'.$telefon.'"></TD></TR>';
print '"></TD></TR><TR><TD>Od:</TD><TD><INPUT TYPE="text"';
print 'NAME="data1" VALUE="'.$data1.'"></TD></TR>';
print '"></TD></TR><TR><TD>Do:</TD><TD><INPUT TYPE="text"';
print 'NAME="telefon" VALUE="'.$data2.'"></TD></TR>';
print '</TABLE><INPUT TYPE="submit" VALUE="Popraw"></FORM>';
} elseif ($co == 'skasuj') { // kasowanie
$wynik = mysql_query
("DELETE FROM ksiazkatelefoniczna WHERE nr = '$id';");
}
$wynik = mysql_query ("SELECT * FROM ksiazkatelefoniczna;");
print "<TABLE CELLPADDING=8 BORDER=1>";
print "<TR><TD><B>Imię</B></TD><TD><B>Nazwisko</B></TD>";
print "<TD><B>Telefon</B></TD><TD><B>Od</B></TD><TD><B>do</B></td>";
print "<td><b>ilość dni</b></td>";
echo workDays($_POST['data1'], $_POST['data2']);
while ($rekord = mysql_fetch_array ($wynik)) {
$id = $rekord[0];
$imie = $rekord[1];
$nazwisko = $rekord[2];
$telefon = $rekord[3];
$data1 = $rekord[4];
$data2 = $rekord[5];
$iloscdni = $rekord[6];
print "<TR><TD>$imie</TD><TD>$nazwisko</TD><TD>$telefon</TD><TD>$od</TD><TD>$do</TD><td>$iloscdni</td>";
print "<TD><A HREF=\"4-29.php?co=skasuj&id=$id\">skasuj</A></TD><TD>";
print "<A HREF=\"4-29.php?co=edytuj&id=$id\">edytuj</A></TD></TR>\n";
}
print "</TABLE>";
print '<FORM METHOD="POST">Nowy rekord:';
print '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
print '<TR><TD>Imię:</TD><TD><INPUT TYPE="text" ';
print 'NAME="imie"></TD></TR><TR><TD>Nazwisko:</TD><TD><INPUT ';
print 'TYPE="text" NAME="nazwisko"></TD></TR><TR><TD>Telefon:</TD>';
print '<TD><INPUT TYPE="text" NAME="telefon"></TD></TR>';
print '<TR><TD>od:</TD><TD><INPUT TYPE="text" ';
print 'NAME="data1"></TD></TR><TR><TD>do:</TD><TD><INPUT ';
print 'TYPE="text" NAME="data2"></TD></TR>';
print '</TABLE><INPUT TYPE="submit" VALUE="Dodaj"></FORM>';
function workDays($date1, $date2, $withStartDay = true) {
$date1=strtotime($date1);
$date2=strtotime($date2);
if ($date2===$date1 && !$withStartDay) return 0;
$char=1;
if ($date1>$date2)
{$datePom=$date1;$date1=$date2;$date2=$datePom;$char=-1;}
$count=0;
if (!$withStartDay)
$date1=strtotime('+1 day',$date1);
$date2=strtotime('+1 day',$date2);
$lastYear = null;
$hol=array('01-01','05-01','05-03','08-15','11-01','11-11','12-25','12-26');
while ($date1<$date2) {
$year = date('Y', $date1);
if ($year !== $lastYear){
$lastYear = $year;
$easter = date('m-d', easter_date($year));
$date = strtotime($year . '-' . $easter);
$easterSec = date('m-d', strtotime('+1 day', $date));
$cc = date('m-d', strtotime('+60 days', $date));
$hol[8] = $easter;
$hol[9] = $easterSec;
$hol[10] = $cc;
}
$weekDay=date('w',$date1);
if (!($weekDay==0 || $weekDay==6 || in_array(date('m-d',$date1),$hol)))
$count++;
$date1=strtotime('+1 day',$date1);
}
$count*=$char;
return $count;
}
?>
</BODY>
</HTML>