Avatar billede diablo925 Nybegynder
04. marts 2009 - 20:55 Der er 11 kommentarer og
1 løsning

kalender

hej "nørder" :D

er der nogle kloge hoveder her som kan hjælpe mig

for jeg synes jeg har brugt meget lang tid på at prøve at lave en kalender

det skal være en mini kalender hvor alle kan skrive event

det skal gemmes i mysql og man skal kunne gå frem og tilbage i måneden


håber nogle kan hjælpe mig med råd eller code til hvordan man kan lave en
Avatar billede jakobdo Ekspert
04. marts 2009 - 22:16 #1
Med risiko for at gentage mig selv, så anbefaler jeg altid denne, når der er tale om en kalender: http://keithdevens.com/software/php_calendar

Den er simpel og nem at ændre i.

Hvis du kigger i eksemplerne, så er der også en med frem og tilbage knapper, dog kræver det så du laver lidt ekstra kode, men du er da på vej. :o)
Avatar billede diablo925 Nybegynder
05. marts 2009 - 17:17 #2
nu har jeg set på det og kan ikke finde ud af det :D
Avatar billede jakobdo Ekspert
05. marts 2009 - 22:30 #3
Har du fået koden til at vise en kalender til at starte med ?
Avatar billede diablo925 Nybegynder
05. marts 2009 - 22:45 #4
fandt en tråd du har skrevet i så den har jeg brugt :)
http://www.eksperten.dk/spm/859662

lige pt prøver jeg at gøre så man kan skrive event :/
Avatar billede jakobdo Ekspert
05. marts 2009 - 23:31 #5
Du skriver bare! :o)
Avatar billede diablo925 Nybegynder
06. marts 2009 - 15:53 #6
skal jeg nok

men skal lige finde ud af hvordan jeg gør for ved ikke lige hvor jeg skal lave min mysql kode hende så man kan trykke på en dato i en given måned og add noget tekst :/
Avatar billede jakobdo Ekspert
06. marts 2009 - 17:33 #7
En ide ville jo være at lave noget tekst ved hver dato, som kan tilføje en event.

Det kan du f.eks. hardcode ind i denne kode:

for($day=1,$days_in_month=gmdate('t',$first_of_month); $day<=$days_in_month; $day++,$weekday++){
        if($weekday == 7){
            $weekday  = 0; #start a new week
            $calendar .= "</tr>\n<tr>";
        }
        if(isset($days[$day]) and is_array($days[$day])){
            @list($link, $classes, $content) = $days[$day];
            if(is_null($content))  $content  = $day;
            $calendar .= '<td'.($classes ? ' class="'.htmlspecialchars($classes).'">' : '>').
                ($link ? '<a href="'.htmlspecialchars($link).'">'.$content.'</a>' : $content).'</td>';
        }
        else $calendar .= "<td>$day</td>";
    }
Avatar billede diablo925 Nybegynder
06. marts 2009 - 17:55 #8
har fået lavet det sådan her
http://intern.oticket.dk/test/

else $calendar .= "<td>$day</td>";

er rettet til
else $calendar .= "<td><a href=\"Skriv.php?day=$day&month=$month&year=$year\">$day</a></td>";

men en lille ting i den skriv.php

skal jeg så lave en $day = $_GET['$day']; eller hvordan ?
Avatar billede diablo925 Nybegynder
06. marts 2009 - 20:38 #9
ja fået det til at virke


vil du smide et svar
Avatar billede jakobdo Ekspert
06. marts 2009 - 21:11 #10
Svar!

Du bør måske vise din kode, så andre kan finde hjælp i koden.
Avatar billede diablo925 Nybegynder
06. marts 2009 - 21:45 #11
kalender
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kalender</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=280,height=250,left = 520,top = 250');");
}
// En
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>

<body>
<?php
//http://www.eksperten.dk/spm/859662
# PHP Calendar (version 2.3), written by Keith Devens
# http://keithdevens.com/software/php_calendar
#  see example at http://keithdevens.com/weblog
# License: http://keithdevens.com/software/license

function generate_calendar($year, $month, $days = array(), $day_name_length = 3, $month_href = NULL, $first_day = 0, $pn = array()){
    $first_of_month = gmmktime(0,0,0,$month,1,$year);
    #remember that mktime will automatically correct if invalid dates are entered
    # for instance, mktime(0,0,0,12,32,1997) will be the date for Jan 1, 1998
    # this provides a built in "rounding" feature to generate_calendar()

    $day_names = array(); #generate all the day names according to the current locale
    for($n=0,$t=(3+$first_day)*86400; $n<7; $n++,$t+=86400) #January 4, 1970 was a Sunday
        $day_names[$n] = ucfirst(gmstrftime('%A',$t)); #%A means full textual day name

    list($month, $year, $month_name, $weekday) = explode(',',gmstrftime('%m,%Y,%B,%w',$first_of_month));
    $weekday = ($weekday + 7 - $first_day) % 7; #adjust for $first_day
    $title  = htmlentities(ucfirst($month_name)).'&nbsp;'.$year;  #note that some locales don't capitalize month and day names

    #Begin calendar. Uses a real <caption>. See http://diveintomark.org/archives/2002/07/03
    @list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
    if($p) $p = '<span class="calendar-prev">'.($pl ? '<a href="'.htmlspecialchars($pl).'">'.$p.'</a>' : $p).'</span>&nbsp;';
    if($n) $n = '&nbsp;<span class="calendar-next">'.($nl ? '<a href="'.htmlspecialchars($nl).'">'.$n.'</a>' : $n).'</span>';
    $calendar = '<table class="calendar">'."\n".
        '<caption class="calendar-month">'.$p.($month_href ? '<a href="'.htmlspecialchars($month_href).'">'.$title.'</a>' : $title).$n."</caption>\n<tr>";

    if($day_name_length){ #if the day names should be shown ($day_name_length > 0)
        #if day_name_length is >3, the full name of the day will be printed
        foreach($day_names as $d)
            $calendar .= '<th abbr="'.htmlentities($d).'">'.htmlentities($day_name_length < 4 ? substr($d,0,$day_name_length) : $d).'</th>';
        $calendar .= "</tr>\n<tr>";
    }

    if($weekday > 0) $calendar .= '<td colspan="'.$weekday.'">&nbsp;</td>'; #initial 'empty' days
    for($day=1,$days_in_month=gmdate('t',$first_of_month); $day<=$days_in_month; $day++,$weekday++){
        if($weekday == 7){
            $weekday  = 0; #start a new week
            $calendar .= "</tr>\n<tr>";
        }
        if(isset($days[$day]) and is_array($days[$day])){
            @list($link, $classes, $content) = $days[$day];
            if(is_null($content))  $content  = $day;
            $calendar .= '<td'.($classes ? ' class="'.htmlspecialchars($classes).'">' : '>').
           
                ($link ? '<a href="'.htmlspecialchars($link).'">'.$content.'</a>' : $content).'</td>';
        }
        else $calendar .= "<td><A HREF=\"java script:popUp('Skriv.php?day=$day&month=$month&year=$year')\">$day</A></td>";
    }
    if($weekday != 7) $calendar .= '<td colspan="'.(7-$weekday).'">&nbsp;</td>'; #remaining "empty" days

    return $calendar."</tr>\n</table>\n";
}


$month = (isset($_GET['m']) && is_numeric($_GET['m']) && $_GET['m'] > 0 && $_GET['m'] < 13) ? intval($_GET['m']) : date('n');
$year  = (isset($_GET['y']) && is_numeric($_GET['y'])) ? intval($_GET['y']) : date('Y');

if($month == 12){
    $next_month = 1;
    $next_year  = $year + 1;
}else{
    $next_month = $month + 1;
    $next_year  = $year;
}

if($month == 1){
    $prev_month = 12;
    $prev_year  = $year - 1;
}else{
    $prev_month = $month - 1;
    $prev_year  = $year;
}

$pn = array('&laquo;'=>'?m='.$prev_month.'&y='.$prev_year, '&raquo;'=>'?m='.$next_month.'&y='.$next_year);

setlocale(LC_TIME, 'da','dan','da_DK','da_DK.ISO8859-1','danish');
echo generate_calendar($year, $month, NULL, 3, NULL, 0, $pn);
?>
</body>
</html>

min skriv event

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Skriv</title>
</head>

<body>
<?php
$day = $_GET['day'];
$month = $_GET['month'];
$year = $_GET['year'];
$Navn = $_SESSION['username'];
{
echo"
<form action=\"sql.php\" method=\"post\">
<input name=\"Navn\" type=\"hidden\" value=\"$Navn\" />
<table border=\"0\" align=\"left\">
<tr>
<td>
Fra den
</tr>
</td>
<tr>
<td>
Dag <input name=\"Fdag\" type=\"text\" value=\"$day\" readonly=\"true\" size=\"4\" />
</td>
<td>
M&aring;ned <input name=\"Fmaaned\" type=\"text\" value=\"$month\" readonly=\"true\" size=\"4\" />
</td>
<td>
&Aring;r <input name=\"Faar\" type=\"text\" value=\"$year\" readonly=\"true\" size=\"6\" />
</td>
</tr>
<tr>
<td>
Til den
</tr>
</td>
<tr>
<td>
Dag <input name=\"Tdag\" type=\"text\" value=\"$day\"  size=\"4\" />
</td>
<td>
M&aring;ned <input name=\"Tmaaned\" type=\"text\" value=\"$month\" size=\"4\" />
</td>
<td>
&Aring;r <input name=\"Taar\" type=\"text\" value=\"$year\" size=\"6\" />
</td>
</tr>
</table><br /><br /><br /><br /><br /><br />";
}
?>
<table width="249" border="0" align="left">
<tr>
<td width="233">
<textarea name="Tekst" cols="31" rows="6"></textarea>
</tr>
</td>
<tr>
<td>
<input name="Submit" type="submit" value="skriv" />
</tr>
</td>
</table>
</form>
</body>
</html>
Avatar billede jakobdo Ekspert
06. marts 2009 - 22:56 #12
Takker for point
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