Gå til innhold

PHP MySQL kalender


Anbefalte innlegg

Videoannonse
Annonse

Jeg bruker koden under for kalenderen på min side. Den sjekker i database om det finnes en oppføring innenfor dagen. Bruker time() som tidsangivelse i databasen..

Du må vel fikse litt på den, men er vel i alle fall et tips i rett retning..

 

Du kan se kalenderen her.

<?php
//Skrevet av Eirik Opsanger

$mnd = $_GET['m'];
$aar = $_GET['y'];

if($mnd == null) {	$mnd = date("n"); }
if($aar == null) {	$aar = date("Y"); }

if($mnd == 1) {
$mnd_f = 12;
$aar_f = $aar-1;

} else {
$mnd_f = $mnd-1;
$aar_f = $aar;
}
if($mnd == 12) {
$mnd_n = 1;
$aar_n=$aar+1;

} else {
$mnd_n = $mnd+1;
$aar_n=$aar;
}


if($mnd > 12 || $mnd <1 || (!is_numeric($mnd)) || $aar > 2100 || $aar < 1900 || (!is_numeric($aar))) {
$mnd = date("n");
$aar = date("Y");
}
$mnder  = array( 1=> "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember");
$dager  = array(1=> "M", "T", "O", "T", "F", "L", "S");

$forste_dag = date(w, mktime(1,1,1,$mnd,1,$aar));
if($forste_dag == 0) {	$forste_dag = 7; }

print("<h2>$mnder[$mnd] $aar</h2>[<a href=\"?m=$mnd_f&y=$aar_f\">Forrige</a>] [<a href=\"?m=$mnd_n&y=$aar_n\">Neste</a>]");

print("<table class=\"kalender\">");
//printe ut alle dagene i en uke
print("<tr>");
for($i=1; $i<=7; $i++) {
 print("<td class=\"ukenavn\">$dager[$i]</td>");
}
print("</tr>");


//sjekke hvor mange dager måneden har
$ant_dager = (date(j, mktime(0,0,0,$mnd_n,-1,$aar))+1);

$j = 1;
print("<tr>");
//Skriver ut tomme celler før den 1. i måneden.
for($k=1;$k<$forste_dag;$k++) {
 print("<td class=\"kalender\"> </td>");
 $j++;
}
//Skriver ut alle datoer
for($i=1; $i<=$ant_dager; $i++) {

 //sjekke om det finnes en blogoppføring denne dagen!
 $tid2 = mktime(1,1,1,$mnd,$i,$aar);
 $query = mysql_query("SELECT id FROM innlegg WHERE TO_DAYS(FROM_UNIXTIME(tid)) = TO_DAYS(FROM_UNIXTIME($tid2))");
 
 if(mysql_num_rows($query) != 0) {
 	print ("<td class=\"kalender\"><a href=\"?dag=$tid2&m=$mnd&y=$aar\">$i</a></td>");
 
 } else {
 	print ("<td class=\"kalender\">$i</td>");
 }
 //Sjekker om det er nye uke
 $j++;
 if($j%7 == 1) { print("</tr><tr>"); }	
}

//Skriver ut tomme celler etter den 31. i måneden
while($j%7 != 1) {
 print("<td> </td>");
 $j++;
}

print("</tr>");
print("</table>");
?>

Lenke til kommentar
Hvilke felter er det i tabellen?

Og jeg ser ikke hvor jeg kan sette inn brukernavn og passord?

Er relativt grønn på dette... :no:

7672543[/snapback]

 

jeg har id|tid|tekst|overskrift samt noen litt mer spesielle.. Jeg bruker bare id i koden under, så generer jeg en link med mktime() som inneholder start og slutt på den aktuelle dagen.

 

Du må koble deg opp til databasen før du bruker scriptet. dette gjør jeg i en egen fil, derfor er ikke dette tatt med..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...