Calender Script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stedem dem

stedem dem

01/02/2011 00:35:49
Quote Anchor link
Hoi,

Ben bezig met de aanpassing van een bestaand script (kalender). Enige probleem is dat het bestaande script gebruik maakt van een database met voor zowel de dag, de maand en het jaar een eigen veld dus 3 velden terwijl in mijn eigen database ik gebruik maak van een data veld 0000-00-00.

Ik zit nu dus even vast om alles te kunnen weergeven aangezien hij geen data ophaalt uit m'n database. Iemand een hint?

Code verwijderd! Zou je enkel relevante code willen plaatsen?![/modedit]
Gewijzigd op 01/02/2011 11:02:37 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

24/11/2024 12:36:32
 
- Ariën  -
Beheerder

- Ariën -

01/02/2011 00:54:54
Quote Anchor link
3 meter scrollen verder....

Sorry maar zoveel code ga ik niet lezen. Kan je je code niet even inkorten naar het relevante deel?
 
- SanThe -

- SanThe -

01/02/2011 00:57:50
Quote Anchor link
- Aar - op 01/02/2011 00:54:54:
3 meter scrollen verder....

Sorry maar zoveel code ga ik niet lezen. Kan je je code niet even inkorten naar het relevante deel?


Zet het gelijk ook even tussen code-tags. En waarom 3 keer hetzelfde posten in korte tijd.
 

01/02/2011 01:04:38
Quote Anchor link
- SanThe - op 01/02/2011 00:57:50:
- Aar - op 01/02/2011 00:54:54:
3 meter scrollen verder....

Sorry maar zoveel code ga ik niet lezen. Kan je je code niet even inkorten naar het relevante deel?


Zet het gelijk ook even tussen code-tags. En waarom 3 keer hetzelfde posten in korte tijd.


Volgens mij is dat nog wel en bug...

Maar goed, mijn advies luid:.....

Opnieuw schrijven.
 
Stedem dem

stedem dem

01/02/2011 12:59:06
Quote Anchor link
Ok, poging 2 om de code te plaatsen, liep inderdaad iets verkeerd

Dit is de db layout die ik wil aanpassen. Heb al veld gemaakt met

CREATE TABLE IF NOT EXISTS `calendar_events` (
`event_id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`event_day` int(2) NOT NULL DEFAULT '0',
`event_month` int(2) NOT NULL DEFAULT '0',
`event_year` int(4) NOT NULL DEFAULT '0',
`event_time` varchar(5) NOT NULL DEFAULT '',
`event_title` varchar(200) NOT NULL DEFAULT '',
`volledigedatum` date NOT NULL,
PRIMARY KEY (`event_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;



Code om met DB te verbinden
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
setlocale(LC_ALL, 'nl_NL');
$DBHost = "localhost";
$DBName = "";
$DBUser = "";
$DBPass = "";
$TBL_PR = "_";
$db_connection = mysql_connect ($DBHost, $DBUser, $DBPass) OR die (mysql_error());  
$db_select = mysql_select_db ($DBName) or die (mysql_error());
$db_table = $TBL_PR . "events";

function
getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();
IF(!isset($_GET['year'])){
    $_GET['year'] = date("Y");
}

IF(!isset($_GET['month'])){
    $_GET['month'] = date("n")+1;
}

$month = addslashes($_GET['month'] - 1);
$year = addslashes($_GET['year']);
$query = "SELECT event_id,event_title,event_day,event_time FROM $db_table WHERE event_month='$month' AND event_year='$year' ORDER BY event_time";
$query_result = mysql_query ($query);
while ($info = mysql_fetch_array($query_result))
{

    $day = $info['event_day'];
    $event_id = $info['event_id'];
    $events[$day][] = $info['event_id'];
    $event_info[$event_id]['0'] = substr($info['event_title'], 0, 8);;
    $event_info[$event_id]['1'] = $info['event_time'];
}

$todays_date = date("j");
$todays_month = date("n");
$days_in_month = date ("t", mktime(0,0,0,$_GET['month'],0,$_GET['year']));
$first_day_of_month = date ("w", mktime(0,0,0,$_GET['month']-1,1,$_GET['year']));
$first_day_of_month = $first_day_of_month + 1;
$count_boxes = 0;
$days_so_far = 0;

IF($_GET['month'] == 13){
    $next_month = 2;
    $next_year = $_GET['year'] + 1;
}
ELSE {
    $next_month = $_GET['month'] + 1;
    $next_year = $_GET['year'];
}


IF($_GET['month'] == 2){
    $prev_month = 13;
    $prev_year = $_GET['year'] - 1;
}
ELSE {
    $prev_month = $_GET['month'] - 1;
    $prev_year = $_GET['year'];
}

?>


Script om dropdown weer te geven zodoende een selectie van maand kan gebeuren.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<select name="month" id="month" onChange="MM_jumpMenu('parent',this,0)">
        <?
for ($i = 1; $i <= 12; $i++) {
$link = $i+1;
IF($_GET['month'] == $link){
$selected = "selected";
}
ELSE {
$selected = "";
}

echo "<option value=\"index.php?month=$link&amp;year=$_GET[year]\" $selected>" . date ("F", mktime(0,0,0,$i,1,$_GET['year'])) . "</option>\n";
}

?>

    </select>
    <select name="year" id="year" onChange="MM_jumpMenu('parent',this,0)">
        <?
for ($i = 2009; $i <= 2012; $i++) {
IF($i == $_GET['year']){
$selected = "selected";
}
ELSE {
$selected = "";
}

echo "<option value=\"index.php?month=$_GET[month]&amp;year=$i\" $selected>$i</option>\n";
}

?>

    </select>



Code voor kalender effectief weer te geven

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?
        for ($i = 1; $i <= $first_day_of_month-1; $i++) {
            $days_so_far = $days_so_far + 1;
            $count_boxes = $count_boxes + 1;
            echo "<td width='100' height='100' class=\"beforedayboxes\"></td>\n";
        }

        for ($i = 1; $i <= $days_in_month; $i++) {
               $days_so_far = $days_so_far + 1;
                $count_boxes = $count_boxes + 1;
            IF($_GET['month'] == $todays_month+1){
                IF($i == $todays_date){
                    $class = "highlighteddayboxes";
                }
ELSE {
                    $class = "dayboxes";
                }
            }
ELSE {
                IF($i == 1){
                    $class = "highlighteddayboxes";
                }
ELSE {
                    $class = "dayboxes";
                }
            }

            echo "<td width=\"100\" height=\"100\" class=\"$class\">\n";
            $link_month = $_GET['month'] - 1;
            echo "$i <a href=\"event_add.php?day=$i&amp;month=$link_month&amp;year=$_GET[year]\">Add</a><br>";
            IF(isset($events[$i])){
                while (list($key, $value) = each ($events[$i])) {
                    echo "&nbsp;" . $event_info[$value]['1'] . " " . $event_info[$value]['0']  . "\n<br>\n";
                }
            }

            echo "</td>\n";
            IF(($count_boxes == 7) AND ($days_so_far != (($first_day_of_month-1) + $days_in_month))){
                $count_boxes = 0;
                echo "</TR><TR valign=\"top\">\n";
            }
        }

        $extra_boxes = 7 - $count_boxes;
        for ($i = 1; $i <= $extra_boxes; $i++) {
            echo "<td width=\"100\" height=\"100\" class=\"afterdayboxes\"></td>\n";
        }

        $time_end = getmicrotime();
        $time = round($time_end - $time_start, 3);
        ?>


Toevoeging op 01/02/2011 13:00:16:

Ik ben met dit script eigenlijk gewoon op zoek naar een kalender waarbij ik items kan plaatsen in de kalender. Ik heb nu al een db met zeer veel input maar daar staat alle data in het 0000-00-00 formaat.
Het script dat ik hier heb is helaas met 3 velden.
 
- SanThe -

- SanThe -

01/02/2011 13:56:18
Quote Anchor link
En wat wil je nou van ons?
Ik zou zeggen, maak er dan één veld van.
 
Stedem dem

stedem dem

01/02/2011 15:23:28
Quote Anchor link
- SanThe - op 01/02/2011 13:56:18:
En wat wil je nou van ons?
Ik zou zeggen, maak er dan één veld van.


heb ik geprobeerd maar dan vind hij logischerwijs geen enkel item meer terug. Kan ik op bepaalde manier de informatie die nu uit de 3 velden gehaald wordt uit 1 veld halen (vb splitsen ofzo?)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.