Avatar billede 1kjartan Nybegynder
06. februar 2009 - 23:11 Der er 5 kommentarer og
1 løsning

Vise indhold af database på side

Hej eksperter

Jeg er i gang med et eksamensprojekt, hvor jeg skal lave en online kalender. Jeg er indtil videre kommet så langt så man kan oprette en bruger og logge ind ved hjælp af en database. Jeg har også lavet en simpel kalender, og et simpelt script hvor man kan indtaste hvilken dag, måned og år en aftale gælder, samt et tekstfelt.
Hvad jeg nu gerne vil kunne er at få vist informationerne der er i denne database på brugerens side. Det måtte meget gerne foregå på den måde at datoen i kalenderen var fed hvis man der var en aftale.
Jeg er nybegynder i PHP, men kan da tænke så langt til databasen skal inkluderes og der skal tages højde for valid user_id.

På forhånd tak (:
Avatar billede majbom Novice
07. februar 2009 - 05:46 #1
du includer ikke en database, du forbinder til den. :)

så du mangler alt det der udskriver selve kalenderen med aftaler?
Avatar billede kjeldsted Novice
07. februar 2009 - 06:10 #2
Det kommer sku an på så meget...

Hvordan udskriver du kalenderen (HTML, PHP, andet)?

Hvordan har du gemt datoen i DB'en (Unix timestamp, andet)?
Avatar billede 1kjartan Nybegynder
07. februar 2009 - 10:45 #3
Kalenderen er sammen med alt andet skrevet i PHP.

Min database ser således ud, da jeg fik det anbefalet:

id      int(11)                  auto_increment       
dag    int(11)        NULL        
month  char(3)        NULL        
year    int(4)        NULL        
text    text        NULL        
user    int(255)    NULL

Jeg har også fået lavet et script så man kan tilføje en aftale, der gemmes i min db, det fungerer også, og jeg kan se aftalen i db'en.

Hvad jeg mangler er at en dato i kalenderen skal være markeret fed hvis den er optaget, og at man skal kunne klikke på den og se aftalen.

Når jeg gemmer datoen ser det således ud i databasen:

id     dag     month     year     text                     user
30    2      Mar    2009    Skriv din aftale her     6
Avatar billede kjeldsted Novice
07. februar 2009 - 11:04 #4
Kan jeg se hvordan du udskriver kalenderen?
Avatar billede 1kjartan Nybegynder
07. februar 2009 - 12:57 #5
Det kan du tro, den kommer her:

<?php
session_start();

if (!$_SESSION["valid_user"])
{

echo "<script language='javascript'>window.location = 'login.php?op=thanks'</script>";
}

// Display Member information
echo "<p><b>User ID:</b> " . $_SESSION["valid_id"];
echo "<p><b>Username:</b> " . $_SESSION["valid_user"];
echo "<p><b>Logged in:</b> " . (Date("l d/m, Y"));
?>
<br><br>
 

<?php
# 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)).' '.$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> ';
    if($n) $n = ' <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.'"> </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>$day</td>";
    }
    if($weekday != 7) $calendar .= '<td colspan="'.(7-$weekday).'"> </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('«'=>'?m='.$prev_month.'&y='.$prev_year, '»'=>'?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);
?>
<br>

<?
echo "<p>Klik <a href=\"aftale.php\">her</a> for at lave en aftale</p>";
echo "<p>Klik <a href=\"logout.php\">her</a> for at logge ud</p>";
?>


Kalenderen er en jeg har set også er benyttet af andre her på Eksperten.
Som du kan se skal man være logget ind for at kunne se kalenderen og tilføje en aftale, jeg ved ikke om du er interesseret i at se scriptet for hvordan aftalen bliver gemt?
Avatar billede 1kjartan Nybegynder
09. februar 2009 - 23:41 #6
Jeg har selv fundet brugbar løsning og lukker derfor tråden.
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