Endnu et spørgsmål om en kalender

Tags:    php

Jeg har en kalender til at køre, som virker ok, men jeg vil gerne at man kan booke over flere dage, samt at man kan se hvem der har booket. Hvis der er nogle der ligger inde med et sådan script, eller kan ændre det vedhæftede, så vil jeg være glad...

//////////////// index.php ////////////////

<html>
<head>
<title>Kalender</title>
<link rel=stylesheet type="text/css" href="style.css">
</head>
<body >

<!-- Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/ -->
<div id="overDiv" style="position:absolute; visibility:hide; z-index:1;">
</div>
<script LANGUAGE="JavaScript" SRC="http://leder.fdfvibyj.dk/overlib.js"></script>

<table height="100" cellpadding="0" cellspacing="4">

<?php

include("config.php");

//Variabler til brug for næste og forrige links, samt til opslag i DB
if(isset($_GET['md']) && isset($_GET['year'])){
$current_month = $_GET['md'];
$year = $_GET['year'];

//næste og forrige links
if($current_month == 12){
$mdnext = 1;
$yearnext = $year+1;
$mdprev = $current_month-1;
$yearprev = $year;

}elseif($current_month == 1){
$mdnext = $current_month+1;
$yearnext = $year;
$mdprev = 12;
$yearprev = $year-1;
}else{
$mdnext = $current_month+1;
$yearnext = $year;
$mdprev = $current_month-1;
$yearprev = $year;
}

}else{
$current_month = date("n");
$year = date("Y");
$mdnext = $current_month+1;
$yearnext = $year;
$mdprev = $current_month-1;
$yearprev = $year;
}

//sætter 'nul' for an alt der er mindre end 9
if($current_month <= 9){
$current_month = "0".$current_month;
}

$dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");

//finder antal dage i den valgte måned
// $days = date ("t", mktime(0,0,0,1,11,$year));
$days = date ("t", mktime(0,0,0,$current_month,1,$year));

//dags dato
$current_day = date("d");

// måned med bogstaver fra array $dkmdr
$charmonth = $current_month-1;

// finder dag på ugen for første dag i måneden, 0=søndag, 1= Mandag ... og 6=lørdag
$day_of_week = date("w",mktime(0,0,0,$current_month,1,$year));

//hvor mange tomme dage skal sættes før den 1. i måneden
switch($day_of_week){
case '0':
$dage = 6;
break;
case '1':
$dage = 0;
break;
case '2':
$dage = 1;
break;
case '3':
$dage = 2;
break;
case '4':
$dage = 3;
break;
case '5':
$dage = 4;
break;
case '6':
$dage = 5;
break;
}

// men først et par tomme rum, så det kommer til at passe med ugedag...
for($i=0;$i<$dage;$i++){
$tomme .= "<td align=\\"center\\" class=\\"" . $class ."\\"> </td>";
}


echo "<tr><td colspan=\\"7\\" align=\\"center\\"><b>".$dkmdr[$charmonth]." ".$year."</b></td></tr>\\n";
echo '<tr>
<td align="center" width="100">Man</td>
<td align="center" width="100">Tir</td>
<td align="center" width="100">Ons</td>
<td align="center" width="100">Tor</td>
<td align="center" width="100">Fre</td>
<td align="center" width="100">Lør</td>
<td align="center" width="100">Søn</td>
</tr>';
echo "<tr>";

if($i <= 7){
echo $tomme;
}

for($i=1;$i<=$days;$i++){
if($i <= 9){
$z = "0".$i;
}else{
$z = $i;
}

$qry = mysql_query("SELECT * FROM event WHERE dag = '".$year."-".$current_month."-".$z."'") or die (mysql_error());
$rows = mysql_num_rows($qry);

if($rows == "0"){
$class = "cal";
$link = "";
$endlink = "";
}
if($i == $current_day){
$class = "cal-day";
$link = "";
$endlink = "";
}
if($rows > "0" AND $i == $current_day){
$class = "cal-event-day";
$link = "<a href=\\"?side=../kal/event.php&day=" . $i . "&month=" . $current_month . "&year=" . $year . "¬e=vis" . "\\" class=\\"callink\\"</a>";
$endlink = "</a>";
}
elseif($rows > "0"){
$class = "cal-event";
$link = "<a href=\\"?side=../kal/event.php&day=" . $i . "&month=" . $current_month . "&year=" . $year . "¬e=vis" . "\\" class=\\"callink\\"</a>";
$endlink = "</a>";
}

echo "<td valign=top align=\\"center\\" class=\\"" . $class ."\\"><table bgcolor=#C0C0C0 border=0 width=100 cellspacing=0 cellpadding=0><tr><td align=center width=100%>$i</td></tr></table>" . $link . "" . $endlink ."</td>";
echo $rows[id];

$x = $i+$dage;
if(!is_float($x/7)){
echo "</tr>\\n<tr>";
}
}
?>
</tr>
<tr>
<td colspan="7" align="center">
<?php
echo '<a href="?side=../kal/index.php&md='.$mdprev.'&year='.$yearprev.'"><< Forrige</a> | <a href="?side=../kal/index.php&md='.$mdnext.'&year='.$yearnext.'">Næste >></a>';
?>
</td>
</tr>
</table>

////////////////// index.php SLUT ////////////

///////////////// event.php ////////////////////

<?php

/******************/
//funktion til måned
/******************/
function maaned(){

echo "<select name=\\"md\\">\\n";
$dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");
$mdnu = date("m"); //måned med 2 cifre f.eks 01 - 12
$md = $mdnu; //sættes til næste måned
for($j = 1; $j <= 9; $j++){
$x = $j-1; //til brug for måneds array
if($j == $md){
echo"<option value=\\"0".$j."\\" Selected>$dkmdr[$x] ($j)</option>\\n";
}else{
echo"<option value=\\"0".$j."\\">$dkmdr[$x] ($j)</option>\\n";
}
}
for($j = 10; $j <= 12; $j++){
$x = $j-1; //til brug for måneds array
if($j == $md){
echo"<option value=\\"$j\\" Selected>$dkmdr[$x] ($j)</option>\\n";
}else{
echo"<option value=\\"$j\\">$dkmdr[$x] ($j)</option>\\n";
}
}
echo "</select>\\n";

}

/******************/
//funktion til dag
/******************/
function dag(){

echo "<select name=\\"dato\\">\\n"; //år loop - der er mulighed for at indtaste 1 gamle år
$dd = date("d"); //dags dato
for($i = 1; $i <= 9; $i++){
if($i == $dd){
echo"<option value=\\"0".$i."\\" Selected>$i</option>\\n";
}else{
echo"<option value=\\"0".$i."\\">$i</option>\\n";
}
}
for($i = 10; $i <= 31; $i++){
if($i == $dd){
echo"<option value=$i Selected>$i</option>\\n";
}else{
echo"<option value=$i>$i</option>\\n";
}
}
echo "</select>\\n";

}

/******************/
//funktion til år
/******************/
function aar(){

echo "<select name=\\"aar\\">\\n"; //år loop - der er mulighed for at indtaste 1 gamle år
$aar = date("Y")-1; //årstal med 4 cife f.eks 2002
$detteaar = date("Y");
for($i = $aar; $i < ($aar+5); $i++){
if($i == $detteaar){
echo"<option value=$i Selected>$i</option>\\n";
}else{
echo"<option value=$i>$i</option>\\n";
}
}
echo "</select>\\n";

} //lin 60


if ($_GET['note'] == vis){
include ("config.php");
$qry = mysql_query("SELECT * FROM event WHERE dag = '".$_GET['year']."-".$_GET['month']."-".$_GET['day']."'");
while($row = mysql_fetch_array($qry)){
echo "Id: $row[id]<br>";
echo "Id: $row[dag]<br>";
echo "Id: $row[note]<br>";
echo "<a href=javascript:history.back(-1)>tilbage";
}
}
else {
?>

<div align="center">
Tilføj dato hvor lokalet er optaget:
<br><br>
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">

Vælg Dag: 

<?php
dag();
?>
 

Vælg Måned: 

<?php
maaned();
?>
 
Vælg År: 

<?php
aar();
?>

arrangement:<input type="text" name="notes">

<br><br>
<input type="hidden" name="op" value="ds">
<input type="submit" name="submit" value="Indsæt i Database">
</form>
</div>

<?php

include "config.php"; //lin 100

if($_POST['op'] == "ds"){

$md = $_POST['md'];
$dag = $_POST['dag'];
$aar = $_POST['aar'];
$note = $_POST['notes'];

$tjek = mysql_query("SELECT * FROM event WHERE dag = '".$aar."-".$md."-".$dato."'") or die (mysql_error());
$antal = mysql_num_rows($tjek);
if($antal >=1){
echo "<div align=\\"center\\"><h4>Der er allerede lavet en plan for: DATO: <b>".$dato."</b>, MÅNED: <b>". $md ."</b>, ÅR: <b>". $aar."</b></h4></div>";
exit;
}else{
$sql = "INSERT INTO `event` (`id`, `dag`, `note`) VALUES ('', '".$aar."-".$md."-".$dato."', '$note')";
mysql_query($sql) or die (mysql_error());
echo "<div align=\\"center\\">OK - Databasen blev opdateret med succes for: DATO: <b>". $dato ."</b>, MÅNED: <b>". $md ."</b>, ÅR: <b>". $aar."</b></div>";
exit;
}
}
}
?>



1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hmmm ikke så meget koden, men til næste gang kan du så ikke sætte koden ind i en boks eks:

Fold kodeboks ind/udKode 


Gør det lidt nemmere at følge med i tråden.

/Jacob



t