Avatar billede jammerlab Nybegynder
12. februar 2005 - 20:47 Der er 19 kommentarer og
1 løsning

Kalender problem

Jeg har lavet følgende kalender:

http://www.modern-solutions.dk/kalender/

prøv at gå hen til måneden maj ... så kan i se hvad der skal... har i nogen matematisk forklaring på det? :D
Avatar billede busschou Praktikant
12. februar 2005 - 20:51 #1
ikke umiddelbart...har du ikke noget kode?
Avatar billede leif Seniormester
12. februar 2005 - 20:51 #2
Til orientering så gør Måned 10 år 2006 det også !
Avatar billede leif Seniormester
12. februar 2005 - 20:52 #3
Eller April 2007 !

Så det er ikke en eneste tilfælde !
Avatar billede jammerlab Nybegynder
12. februar 2005 - 20:52 #4
jow ca. 185 linjers kode :) hehe... men jeg går ud fra det er nogle matematiske problemer... for alle de andre måneder ser da korrekte ud :/
Avatar billede james_t_dk Juniormester
12. februar 2005 - 20:52 #5
den gør det også i januar og oktober 2006 samt April og Juli 2007!!!
Avatar billede erikjacobsen Ekspert
12. februar 2005 - 20:53 #6
og august året før. Nu har vi endelig uden med 2 mandage!
Men lad os se noget kode.
Avatar billede erikjacobsen Ekspert
12. februar 2005 - 20:53 #7
...ugen med 2 mandage!
Avatar billede jammerlab Nybegynder
12. februar 2005 - 20:53 #8
Hmmm :|
Avatar billede james_t_dk Juniormester
12. februar 2005 - 20:53 #9
ser us til at det er når d. 8 er en mandag, men der er også måneder hvor den 8. er en mandag, uden at den gør det!
Avatar billede jammerlab Nybegynder
12. februar 2005 - 20:57 #10
Når men i for lige koden hvor problemet må ligge i... detter koden fra den echo'et hoved skriften fra dagene til lige før back "knappen":

echo "
    <table width=120 cellspacing=2 cellpadding=2>
    <tr>
    <td>
    <span class=text1>
    <table width=100% border=0 cellspacing=2 cellpadding=2>
    <tr>
    <td align=center><span class=normaltextfed>Ma</td>
    <td align=center><span class=normaltextfed>Ti</td>
    <td align=center><span class=normaltextfed>On</td>
    <td align=center><span class=normaltextfed>To</td>
    <td align=center><span class=normaltextfed>Fr</td>
    <td align=center><span class=normaltextfed>Lø</td>
    <td align=center><span class=normaltextfed>Sø</td>
    <td align=center><span class=normaltextfed>Uge</td>
    </tr>
    <tr>";

for ($k=0;$k<$udag;$k++){
  echo "
    <td>
    <table width=100% height=10 border=0 cellspacing=1 cellpadding=1 class=kalender>
    <tr>
    <td>
    &nbsp;
    </td>
    </tr>
    </table>
    </td>
    ";
}

while($dag <= $days_in_month) {

$ugenr = date("W", mktime(0, 0, 0, $current_month, $dag, $year));
$ugenr = $ugenr - 1;

  if ($udag==7){
    echo "
    <td>
    <table width=100% height=10 border=0 cellspacing=1 cellpadding=1>
    <tr>
    <td>
    $ugenr
    </td>
    </tr>
    </table>
    </td>
    <tr>
    ";
    $udag=0;
  }

if(@in_array ("$dag", $event)) {

$query = mysql_query("SELECT * FROM kalender WHERE date = '$dag' && month = '$current_month' && year = '$year'");
$row = mysql_fetch_array($query);

$row[tekst] = nl2br($row[tekst]);

      echo "
      <td>
      <table width=100% height=10 border=0 cellspacing=1 cellpadding=1 class=kalender_mark>
      <tr>
      <td>
      ";
      if($row[tekst]) {
      echo "
      <div ID=\"picpreview\" style=\"position:absolute; visibility:hidden; z-index:2;\"></div>
      <span onmouseover='java script:picpreview_show(\"<b>$row[overskrift]</b><br>$row[tekst]\");' onmouseout='java script:picpreview_hide();'>$dag</span>
      ";
      } else {
      echo "<span class=text1>$dag</span>";
      }
      echo "
      </td>
      </tr>
      </table>
      </td>";
    } else {
      echo "
      <td>
      <table width=100% height=10 border=0 cellspacing=1 cellpadding=1 class=kalender>
      <tr>
      <td>
      $dag
      </td>
      </tr>
      </table>
      </td>
      "; }
      $dag++;
      $udag++;
      $uge++;
      $tal++;
    }

    $ddd = 7-$udag;

for( $i = 0 ; $i < $ddd ; $i++ ){
  echo "
    <td>
    <table width=100% height=10 border=0 cellspacing=1 cellpadding=1 class=kalender>
    <tr>
    <td>
    &nbsp;
    </td>
    </tr>
    </table>
    </td>
    ";
    $tal++;
}
Avatar billede busschou Praktikant
12. februar 2005 - 21:12 #11
I mine øjne ser det ud til at den gør det i måneder hvor den 1. er en søndag...så lader den fejlagtig måneden starte på en mandag istedet
Avatar billede jammerlab Nybegynder
12. februar 2005 - 21:14 #12
Ja det ser sådan ud... men det kan jeg ikke lige se hvorfor den skulle gøre...
Avatar billede busschou Praktikant
12. februar 2005 - 21:18 #13
det må jo betyde at $udag = 0 vel ....somehow
Avatar billede jammerlab Nybegynder
12. februar 2005 - 21:21 #14
Har fundet det... det er fordi hvis man skal bruge det så skal jeg lave opbygningen

sø ma ti on to fr lø

og ikke

ma ti on to fr lø sø

jeg hav lavet denne løsning for at få ma ti on to fr lø sø

  $udag = date( "w", mktime(0, 0, 0, $current_month, 1, $year));
  $udag = $udag - 1;

men det er klart så bliver den 0 i nogle tilfælde...
Avatar billede busschou Praktikant
12. februar 2005 - 21:23 #15
jepper
Avatar billede jammerlab Nybegynder
12. februar 2005 - 21:24 #16
Hmm... hvordan pokker laver jeg det så det bliver ma ti on to fr lø sø ?? Ellers kan jeg slet ikke få uge dagene til at passe sammen ... nørj noget rod det her er hehe :)
Avatar billede jammerlab Nybegynder
12. februar 2005 - 23:13 #17
Nu har jeg fået lavet det så det er ma ti on to fr lø sø på den korrekte måde... men jeg har stadig problemer med uge nummeret...
Avatar billede jammerlab Nybegynder
12. februar 2005 - 23:44 #18
Fanme om jeg ikke også fik lavet det.
Avatar billede jammerlab Nybegynder
12. februar 2005 - 23:45 #19
busschou smider du ikke et svar? Det var ligsom din kommentar der ledte mig ind på problemet...
Avatar billede busschou Praktikant
14. februar 2005 - 00:16 #20
jo da gerne - godt det lykkedes... svar :o)
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