Avatar billede xited Praktikant
16. februar 2004 - 23:17 Der er 9 kommentarer og
2 løsninger

flot kalender

Nogen der kan peppe denne kalender lidt op... samt rydde op i koden... (skrevet som noob)

<?

$nu = time();
if($md){}
else{
$md=date("n",time());
}
$length=date(t)+2;

$start=date("w",mktime(0,0,0,date("$md",$nu),1,date("Y",$nu)))+1;

$md_width='18';
$mdplus=$md+1;
$mdminus=$md-1;

echo"
<table cellspacing='0' cellpadding='0'>
<tr><td width='$md_width'>";

if($mdminus){
echo"<a href='?i=skema&md=$mdminus'><-</a>";
}

echo"
</td><td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>$md</td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>";

if($mdplus>12){}else{
echo"<a href='?i=skema&md=$mdplus'>-></a>";
}

echo"</td></tr>
</table>
<table cellspacing='0' cellpadding='0' border='1'>
<tr><td width='$md_width'>m</td><td width='$md_width'>t</td><td width='$md_width'>o</td><td width='$md_width'>t</td><td width='$md_width'>f</td><td width='$md_width'>l</td><td width='$md_width'>s</td></tr>
<tr>";
$dd=1;
$dag=1;
$felt=1;

$start=$start+6;
if($start>7){$start=$start-7;}

while($felt<36){

if(($start==$dd)||($fundet)&&($dag<$length)){echo"<td>$dag</td>";$dag++;$start++;$fundet=1;}else{echo"<td>-</td>";}
$felt++;
$dd++;
if($dd==8){$dd=1;echo"</tr><tr>";}
}

echo"</table>";

?>
Avatar billede mjl Nybegynder
17. februar 2004 - 10:46 #1
<style type="text/css">
A.lys:link {
text-decoration : none;
color : #B59263;
}
A.lys:visited {
text-decoration : none;
color : #B59263;
}
A.lys:hover {
text-decoration : underline;
color : #000000;
}
body {
font-family : verdana;
font-size : 9px;
color : #000000;
}
.hel {
border-top : solid 1px #B59263;
border-bottom : solid 1px #B59263;
border-right : solid 1px #B59263;
border-left : solid 1px #B59263;
}
.halv {
border-top : solid 0px #B59263;
border-bottom : solid 1px #B59263;
border-right : solid 1px #B59263;
border-left : solid 1px #B59263;
}
</style>

<?

$nu = time();
if($md){}
else{
$md=date("n",time());
}
$length=date(t)+2;

$start=date("w",mktime(0,0,0,date("$md",$nu),1,date("Y",$nu)))+1;

$md_width='18';
$mdplus=$md+1;
$mdminus=$md-1;

echo"
<table width=300 cellspacing='5' cellpadding='2' class=hel>
<tr><td width='$md_width'>";

if($mdminus){
echo"<a href='?i=skema&md=$mdminus' class=lys>Forrige</a>";
}

echo"
</td><td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>$md</td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>";

if($mdplus>12){}else{
echo"<a href='?i=skema&md=$mdplus' class=lys>Næste</a>";
}

echo"</td></tr>
</table>
<table width=300 cellspacing='5' cellpadding='2' border='1' class=halv>
<tr><td width='$md_width' class=hel align=center>m</td><td width='$md_width' class=hel align=center>t</td><td width='$md_width' class=hel align=center>o</td><td width='$md_width' class=hel align=center>t</td><td width='$md_width' class=hel align=center>f</td><td width='$md_width' class=hel align=center>l</td><td width='$md_width' class=hel align=center>s</td></tr>
<tr>";
$dd=1;
$dag=1;
$felt=1;

$start=$start+6;
if($start>7){$start=$start-7;}

while($felt<36){

if(($start==$dd)||($fundet)&&($dag<$length)){echo"<td class=hel align=center>$dag</td>";$dag++;$start++;$fundet=1;}else{echo"<td>-</td>";}
$felt++;
$dd++;
if($dd==8){$dd=1;echo"</tr><tr>";}
}

echo"</table>";

?>
Avatar billede mjl Nybegynder
17. februar 2004 - 10:50 #2
Kommer lige med et par rettelser om 2 min.
Avatar billede mjl Nybegynder
17. februar 2004 - 10:53 #3
<style type="text/css">
A.lys:link {
text-decoration : none;
color : #B59263;
}
A.lys:visited {
text-decoration : none;
color : #B59263;
}
A.lys:hover {
text-decoration : underline;
color : #000000;
}
body {
font-family : verdana;
font-size : 9px;
color : #000000;
}
.hel {
border-top : solid 1px #B59263;
border-bottom : solid 1px #B59263;
border-right : solid 1px #B59263;
border-left : solid 1px #B59263;
}
.halv {
border-top : solid 0px #B59263;
border-bottom : solid 1px #B59263;
border-right : solid 1px #B59263;
border-left : solid 1px #B59263;
}
</style>

<?

$nu = time();
if($md){}
else{
$md=date("n",time());
}
$length=date(t)+2;

$start=date("w",mktime(0,0,0,date("$md",$nu),1,date("Y",$nu)))+1;

$md_width='18';
$mdplus=$md+1;
$mdminus=$md-1;

echo"
<table width=300 cellspacing='5' cellpadding='2' class=hel>
<tr><td width='$md_width'>";

if($mdminus){
echo"<a href='?i=skema&md=$mdminus' class=lys>Forrige</a>";
}

if ($md == '1') {
$md = "Januar";
}
if ($md == '2') {
$md = "Februar";
}
if ($md == '3') {
$md = "Marts";
}
if ($md == '4') {
$md = "April";
}
if ($md == '5') {
$md = "Maj";
}
if ($md == '6') {
$md = "Juni";
}
if ($md == '7') {
$md = "Juli";
}
if ($md == '8') {
$md = "August";
}
if ($md == '9') {
$md = "September";
}
if ($md == '10') {
$md = "Oktober";
}
if ($md == '11') {
$md = "November";
}
if ($md == '12') {
$md = "December";
}

echo"
</td><td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>$md</td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'></td>
<td width='$md_width'>";

if($mdplus>12){}else{
echo"<a href='?i=skema&md=$mdplus' class=lys>Næste</a>";
}

echo"</td></tr>
</table>
<table width=300 cellspacing='5' cellpadding='2' border='0' class=halv>
<tr><td width='$md_width' class=hel align=center>m</td><td width='$md_width' class=hel align=center>t</td><td width='$md_width' class=hel align=center>o</td><td width='$md_width' class=hel align=center>t</td><td width='$md_width' class=hel align=center>f</td><td width='$md_width' class=hel align=center>l</td><td width='$md_width' class=hel align=center>s</td></tr>
<tr>";
$dd=1;
$dag=1;
$felt=1;

$start=$start+6;
if($start>7){$start=$start-7;}

while($felt<36){

if(($start==$dd)||($fundet)&&($dag<$length)){echo"<td class=hel align=center>$dag</td>";$dag++;$start++;$fundet=1;}else{echo"<td class=hel align=center>-</td>";}
$felt++;
$dd++;
if($dd==8){$dd=1;echo"</tr><tr>";}
}

echo"</table>";

?>
Avatar billede mjl Nybegynder
17. februar 2004 - 10:53 #4
Så har du "måneds-navnene" med!
Avatar billede jakobdo Ekspert
17. februar 2004 - 11:03 #5
En lille performance forbedring, er at bruge:

switch ($md)
{
    case 1:
        $md = "Januar";
        break;
    case 2:
        $md = "Februar";
        break;
    case 3:
        $md = "Marts";
        break;
    case 4:
        $md = "April";
        break;
    case 5:
        $md = "Maj";
        break;
    case 6:
        $md = "Juni";
        break;
    case 7:
        $md = "Juli";
        break;
    case 8:
        $md = "August";
        break;
    case 9:
        $md = "September";
        break;
    case 10:
        $md = "Oktober";
        break;
    case 11:
        $md = "November";
        break;
    case 12:
        $md = "December";
        break;
}

Og ikke:

if ($md == '1') {
$md = "Januar";
}
if ($md == '2') {
$md = "Februar";
}
if ($md == '3') {
$md = "Marts";
}
if ($md == '4') {
$md = "April";
}
if ($md == '5') {
$md = "Maj";
}
if ($md == '6') {
$md = "Juni";
}
if ($md == '7') {
$md = "Juli";
}
if ($md == '8') {
$md = "August";
}
if ($md == '9') {
$md = "September";
}
if ($md == '10') {
$md = "Oktober";
}
if ($md == '11') {
$md = "November";
}
if ($md == '12') {
$md = "December";
}
Avatar billede mjl Nybegynder
17. februar 2004 - 11:05 #6
He he - jakodo - SaFøLi...!
Avatar billede jakobdo Ekspert
17. februar 2004 - 11:19 #7
Lidt mere flueknepperi...
Når man er på Januar og December, mangler der felter, da Jan og Dec hopper til siderne, da der jo ikke er knapper til Forrige/Næste.
Avatar billede xited Praktikant
17. februar 2004 - 12:46 #8
skal egentlig bare vide hvordan man får tabellen til at se lidt pænere ud...
Avatar billede mjl Nybegynder
17. februar 2004 - 14:25 #9
xited > Prøv at bruge min kode - og se om resultatet er pænere!? (Det der er lagt ind anden gang)...
Avatar billede jakobdo Ekspert
17. februar 2004 - 14:29 #10
Hvad med den kalender jeg har på siden her: http://www.damgaard-olsen.dk/jakob/
Avatar billede jakobdo Ekspert
18. februar 2004 - 08:27 #11
Du kan jo rette mjl med lidt simpel CSS... Så kan du få den til at ligne hvad som helst... (næsten)!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester