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?


3 meter scrollen verder....

Sorry maar zoveel code ga ik niet lezen. Kan je je code niet even inkorten naar het relevante deel?
- 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.
- SanThe - op 01/02/2011 00:57:50

[quote="- 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.
[/quote]

Volgens mij is dat nog wel en bug...

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

Opnieuw schrijven.
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
<?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.


<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

<?
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);
?>

[size=xsmall]Toevoeging op 01/02/2011 13:00:16:[/size]

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.
En wat wil je nou van ons?
Ik zou zeggen, maak er dan één veld van.
- 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?)

Reageren