Avatar billede postbil Nybegynder
27. juli 2009 - 13:51

er jeg låst fast i min php kalender kode?

Hejsa.

Jeg er meget ny inden for programmering, men jeg har været ved at lave min egen kalender hvilket også virker fint. men jeg ønsker at udvide min kalender med et link fra hver dato til en event side (På denne side skal der kunne skrived kommentar som sendes til en mysql database) der for vil jeg gerne have sendt måned, år og dato med. mit problem er at mine datoer skrives ved hjælp af et for statement hvor ved jeg ikke umidlbart kan sende datoen videre til næste link.
Er der nogen der kan hjælpe mig med at få den valgte dato sendt videre?

Forstod i det?
Her er min kode til kalenderen:

Den er også lagt ud på mit domene..


<?php
if (!checkdate($_POST[month], 1, $_POST[year])) {
    $nowArray = getdate();
    $month = $nowArray['mon'];
    $year = $nowArray['year'];
} else {
    $month = $_POST[month];
    $year = $_POST[year];
}
$start = mktime (12, 0, 0, $month, 1, $year);
$firstDayArray = getdate($start);
?>
<html>
    <head>
        <title>Calendar</title>
        <link rel="stylesheet" type="text/css" href="Style/mainStyle.css">   
        <style type="text/css" media="all">
                                                                                         

table {
    width: 125px;
    }

td {
    padding: 1px;
    border: 1px solid #666666;
    text-align: center;
    }
        </style>
    </head>
    <body>
<?php
// Hendt den aktuelle måned og år som integer
    $thismonth = $month;
    $thisyear = $year;

// Find antal dage i den aktuele månede
    $numdaysinmonth = cal_days_in_month( CAL_GREGORIAN, $thismonth, $thisyear );

// Opret kalender objekt
    $jd = cal_to_jd( CAL_GREGORIAN, $month, date( 7 ), $year );

// find den første dag i måneden som integer (0 = Søndag, 1 = Mmandag, osv)
    $startday = jddayofweek( $jd , 0 );

// find månedens navn
    if($thismonth == 01) {
        $monthname = Januar;
    }
   
    if($thismonth == 02) {
        $monthname = Februar;
    }
   
    if($thismonth == 03) {
        $monthname = Marts;
    }
   
    if($thismonth == 04) {
        $monthname = April;
    }
   
    if($thismonth == 05) {
        $monthname = Maj;
    }
   
    if($thismonth == 06) {
        $monthname = Juni;
    }
   
    if($thismonth == 07) {
        $monthname = Juli;
    }
   
    if($thismonth == 08) {
        $monthname = August;
    }
   
    if($thismonth == 09) {
        $monthname = September;
    }
   
    if($thismonth == 10) {
        $monthname = Oktober;
    }
   
    if($thismonth == 11) {
        $monthname = November;
    }
   
    if($thismonth == 12) {
        $monthname = December;
    }
       
?>
        <form method="post" action="<?php print "$_SERVER[PHP_SELF]"; ?>">
<select name="month">
<?php
$months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
for ($x=1; $x <= count($months); $x++) {
    print "\t<option value=\"$x\"";
    print ($x == $month)?" SELECTED":"";
    print ">".$months[$x-1]."\n";
}
?>
</select>
<select name="year">
<?php
for ($x=1980; $x<=2010; $x++) {
    print "\t<option";
    print ($x == $year)?" SELECTED":"";
    print ">$x\n";
}



?>
</select>
<input type="submit" value="Go!">
</form>
        <table>
            <tr>
                <td colspan="7"><div align="center"><strong><?= $monthname ?></strong></div></td>
            </tr>
            <tr>
                <td><strong>M</strong></td>
                <td><strong>T</strong></td>
                <td><strong>O</strong></td>
                <td><strong>T</strong></td>
                <td><strong>F</strong></td>
                <td><strong>L</strong></td>
                <td><strong>S</strong></td>
            </tr>
            <tr>

<?php

    // udfyld tomme celler
    $emptycells = 0;

    for( $counter = 0; $counter <  $startday; $counter ++ ) {
        echo "\t\t<td>-</td>\n";
        $emptycells ++;
    }

// udfyld dage
// her starter problemet for dagene udfyldes med et for statement
// Hvordan kan jeg så få den aktuelle dato dendt med i linket ?
    $rowcounter = $emptycells;
    $numinrow = 7;
    for( $counter = 1; $counter <= $numdaysinmonth; $counter ++ ) {
        $rowcounter ++;
        echo "\t\t<td>";
        echo '<a href="date.php">';                            // Her er linket
        echo $counter;
        echo "</a></td>\n";
        if( $rowcounter % $numinrow == 0 ) {
            echo "\t</tr>\n";
            if( $counter < $numdaysinmonth ) {
                echo "\t<tr>\n";
            }
            $rowcounter = 0;
        }
    }
   
// Reset variabler

  $numcellsleft = $numinrow - $rowcounter;

   

  if( $numcellsleft != $numinrow ) {

    for( $counter = 0; $counter < $numcellsleft; $counter ++ ) {

        echo "\t\t<td>-</td>\n";
        $emptycells ++;

    }

   

  }

  ?>

            </tr>
        </table>
    </body>
</html>

Jeg håber meget i kan hjælpe på for hånd tak

Mik Christensen
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
Kurser inden for grundlæggende programmering

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