Avatar billede ellert Nybegynder
25. marts 2003 - 23:40 Der er 6 kommentarer og
1 løsning

Få sat ugenumre på kalender...

Hej!

Kan I finde et sted/ en måde at putte ugenumre ind her:

<?php

include_once("inc.php");

$next_m = $maned+1;
$prev_m = $maned-1;
$graf_m = '<IMG src="m/'.$maned.'.gif" border="0">';

print '
<DIV class="H">
'.$graf_m.'
<table class="TABLE" cellpadding="3" cellspacing="0" align="center" style="border:1px solid #cc3333;width:154px;height:135px;">
<tr style="background:#cc3333;color:white;text-align:center;">
    <td>Mo</td>
    <td>Tu</td>
    <td>We</td>
    <td>Th</td>
    <td>Fr</td>
    <td>Sa</td>
    <td>Su</td>
</tr>
';

include_once("MySQL_connect.php");

$b=0;
$i=0;
while($b<date("t",$m)) {
    print '<tr align="center">';
    if (date("w",$m) == 0)
    {
        $aa = 7;
    } else {
        $aa = 0;
    }
    for ($a = 1; $a < 8; $a++) {
        if ($a - $aa >= date("w",$m) or $b > 0)
        {
            $b++;
            $dato=$b;
        }
        if ($b > date("t",$m))
        {
            $dato = "&nbsp;";
        }
        if ($dato == $idag)
        {
            $farve = "#cc3333";
        } else {
            if ($a > 5)
            {
                $farve = "#9F9F9F";
            } else {
                $farve = "#c8c8c8";
            }
        }
        if ($dato == $idag)
        {
            $tfarve = "white";
        } else {
            $tfarve = "black";
        }
        print '<td class="dato" style="background:'.$farve.';color:'.$tfarve.';" valign="top">';
        $r = mysql_query("SELECT * FROM calendar") or die("SELECT error");
        while ($row = mysql_fetch_array($r))
        {
            if ($row[day] == $dato && $row[month] == $maned && $row[year] == $aar) {
                $str = '<A href="note.php?day='.$row[day].'&month='.$row[month].'&year='.$row[year].'" target="NOTE" ALT="'.$row[title].'">'.$dato.'</A>';
                print $str;
                $dato = NULL;
            } else {
                $str = NULL;
            }
        }
        print $dato;
        print '</td>';
    }
    print '</tr>';
}
print '</table>';
print '<DIV style="font-size:12px;font-weight:normal;">';
print '<A href="index.php?m='.$prev_m.'">&lt;&lt; '.$maaned[$prev_m].'</A>';
print ' | ';
print '<A href="index.php?m='.$next_m.'">'.$maaned[$next_m].' &gt;&gt;</A>';
print '</DIV>';
print '</DIV>';

mysql_close();
?>

og inc.php:

<?php
$dag=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$maaned=array('','January','February','March','April','May','June','Juli','August','September','October','November','December');

$dato="&nbsp;";
if (isset($_REQUEST['y'])) {
    $aar = $_REQUEST['y'];
} else {
    $aar=date("Y",time());
}
if (isset($_REQUEST['m'])) {
    $maned = $_REQUEST['m'];
} else {
    $maned = date("n",time());
}
$idag = date("j",time());
$m = mktime(0,0,0,$maned,1,$aar);
?>

????

Jeg har ransaget min hjerne, men fandt ingen ideer!?
På forhånd tak!

// eLLERT
// detersmart.dk
Avatar billede bearhugx Nybegynder
26. marts 2003 - 01:28 #1
fra php 4.1.0 er det muligt at få ugenummeret således (forudsat at $m er dit timestamp...)
  $week = date("W", $m);
f.eks. 
I dag er <?=date("l")?> i uge <?=date("W")?>

/Søren Munk Skrøder
Avatar billede bearhugx Nybegynder
26. marts 2003 - 01:33 #2
Her er så din kode (minus MySQL kald osv.)

der er sat en
// ################# foran hver ændring, jeg har lavet .....

<?php

include_once("inc.php");

$next_m = $maned+1;
$prev_m = $maned-1;
$graf_m = '<IMG src="m/'.$maned.'.gif" border="0">';

// ###############################################
// I UNDERSTÅENDE PRINT ER DER INDSAT EN EKSTRA CELLE, SÅ DER OGSÅ KAN KOMME UGENR IND!!!!!

print '
<DIV class="H">
'.$graf_m.'
<table class="TABLE" cellpadding="3" cellspacing="0" align="center" style="border:1px solid #cc3333;width:154px;height:135px;">
<tr style="background:#cc3333;color:white;text-align:center;">
    <td>*</td>
    <td>Mo</td>
    <td>Tu</td>
    <td>We</td>
    <td>Th</td>
    <td>Fr</td>
    <td>Sa</td>
    <td>Su</td>
</tr>
';

include_once("MySQL_connect.php");

// ###############################################
$curWeek = date("W", $m); // FIND UD AF, HVILKEN UGE MÅNEDEN STARTER MED

$b=0;
$i=0;
while($b<date("t",$m)) {
    print '<tr align="center">';

    // ###############################################
    print("<td>".$curWeek."</td>"); // UDSKRIV UGE

    if (date("w",$m) == 0)
    {
        $aa = 7;
    } else {
        $aa = 0;
    }
    for ($a = 1; $a < 8; $a++) {
        if ($a - $aa >= date("w",$m) or $b > 0)
        {
            $b++;
            $dato=$b;
        }
        if ($b > date("t",$m))
        {
            $dato = "&nbsp;";
        }
        if ($dato == $idag)
        {
            $farve = "#cc3333";
        } else {
            if ($a > 5)
            {
                $farve = "#9F9F9F";
            } else {
                $farve = "#c8c8c8";
            }
        }
        if ($dato == $idag)
        {
            $tfarve = "white";
        } else {
            $tfarve = "black";
        }
        print '<td class="dato" style="background:'.$farve.';color:'.$tfarve.';" valign="top">';
        $r = mysql_query("SELECT * FROM calendar") or die("SELECT error");
        while ($row = mysql_fetch_array($r))
        {
            if ($row[day] == $dato && $row[month] == $maned && $row[year] == $aar) {
                $str = '<A href="note.php?day='.$row[day].'&month='.$row[month].'&year='.$row[year" target="NOTE" ALT="'.$row[title].'">'.$dato.'</A>';
                print $str;
                $dato = NULL;
            } else {
                $str = NULL;
            }
        }
        print $dato;
        print '</td>';
    }
    print '</tr>';
   
    // ###############################################
    $curWeek++;  // FOR HVERT UGEGENNEMLØB, OPTÆL UGE   
}
print '</table>';
print '<DIV style="font-size:12px;font-weight:normal;">';
print '<A href="index.php?m='.$prev_m.'">&lt;&lt; '.$maaned[$prev_m].'</A>';
print ' | ';
print '<A href="index.php?m='.$next_m.'">'.$maaned[$next_m].' &gt;&gt;</A>';
print '</DIV>';
print '</DIV>';

mysql_close();
?>
Avatar billede bearhugx Nybegynder
26. marts 2003 - 07:10 #3
men du har det problem, at hvis du skifter måned til en anden, så er "den 26." stadig markeret som Dags Dato (idag)
Avatar billede bearhugx Nybegynder
26. marts 2003 - 07:14 #4
og hvis du f.eks vælger at se marts/1999 (med y=1999&m=3), og så trykker april, så får du april/2003
Avatar billede bearhugx Nybegynder
26. marts 2003 - 07:18 #5
Leg evt. videre på www.skroeder.dk/div/week/week.php -( men Mysql-koden er udtraget, da jeg jo ikke connecter til db'en)
Avatar billede ellert Nybegynder
26. marts 2003 - 16:16 #6
Jeg kan se hvad du mener ...
Avatar billede ellert Nybegynder
26. marts 2003 - 16:17 #7
Rigtig nice bearhugx! JEg skal se på de fejl, du nævner! Mange tak for hjælpen :)
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