05. november 2006 - 18:01Der er
30 kommentarer og 1 løsning
Fedt kalender-system
Hej alle sammen!
Jeg søger et kalender-script som ligner det der findes her: www.zaittam.dk (i højre side). Vælg evt. September.. Således at når man trykker på en dag med et event, kan eventet ses på midten af sitet. Men til selve "tilføj event" delen, vil jeg godt have at der er WYSIWYG så der kan ændres skriftstørrelse etc.
Samtidigt skal det være nemt at bygge ind i et privat design. Håber i kan hjælpe mig :)
<?php /* Kalenderscriptet*/ /* Tjekker året er sat i adresselinien, ellers bliver det i år */ $aar = (empty($_GET['y'])) ? date(Y) : $_GET['y']; /* Tjekker måneden er sat i adresselinien, ellers bliver den sat til aktuel måned */ $maaned = (empty($_GET['m'])) ? date('m') : $_GET['m']; /* Array med ugedage */ $uger = array('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn'); /* Den aktuelle dato i unix epoch (antal sekunder siden 1. jan 1970) */ $dato = mktime(0,0,0,$maaned, 1, $aar); /* Antal dage i måneden */ $antalDageMaaned = date('t', $dato); /* Første ugedag (hvis det er søndag (0) sættes den til 7) */ $foersteUgedag = (date('w', $dato) == 0) ? 7 : date('w', $dato); /* Udskriver måned og år */ print ('<h2>'.date('F', $dato).' - '.$aar.'</h2>'); /* Udskriver forrige/næste knap */ printf('<a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Forrige</a> - <a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Næste</a>', date('m', strtotime("-1 month", $dato)), date('Y', strtotime("-1 month", $dato)), date('m', strtotime("+1 month", $dato)), date('Y', strtotime("+1 month", $dato))); /* Tabellen starter */ print ('<table border="1"><tr>'); /* En række med ugedage udskrives */ for ($i = 1; $i < count($uger); $i++) { print ('<td>'.$uger[$i].'</td>'); } print ('</tr>'); /* Løkken kører så længe der er dage tilbage i måneden */ for ($dag = 1; $dag <= $antalDageMaaned; $dag++) { print ('<tr>'); /* Ugedage-løkken køres igennem */ for ($u = 1; $u <= 7; $u++) {
/* Udskriver tomme pladser hvis måneden ikke starter med en mandag */ if ($u < $foersteUgedag && $foersteUgedag+$dag <= 8) { print ('<td></td>'); } else { /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/ print ( ($dag <= $antalDageMaaned) ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>" : '<td></td>' ); /* Hvis ugedagen ikke er søndag ligges der en til. (ellers tæller den to om søndagen) */ if ($u != 7) $dag++; } } print ('</tr>'); } print ('</table>'); ?>
echo "<td>"; $mysqldate = date("Y-m-d", mktime(0,0,0,$thism,$dag,$thisy) ); // mysqldate indeholder f.eks. 2006-11-06 // Her kan du hente datoer ud. Alternativt kan du FØR loopet hente alle // events ud for hele den aktuelle måned og checke op mod et array echo date("d",mktime(0,0,0,$thism,$dag,$thisy)); echo "</td>"; }
Jamen det er netop pga af, at jeg ikke selv kan finde ud af at smide mysql dataer ind, så en dato med event bliver til et link. :(
Hvis nu jeg har eventdate, eventname, eventtext, eventcategory. og "dit" script skal gøre så en dag med event laver link. (altså hvis fx dato 2006-11-06 findes i mysql tabellen, skal den vises med <a><b></b></a> rundt om datoen i kalenderen.
Hvis du stadig er på bar bund har du skrevet dit spørgsmål i den forkerte kategori. Denne kategori er hvis du har brug for hjælp til noget med PHP. Hvis du har brug for nogen til at lave noget for dig, skal du poste det her: http://www.eksperten.dk/spm/Opgaver/Programmeringsopgaver/PHP/
jeg forstår det godt, nogenlunde, men når jeg indsætter det du har skrevet, ind - melder den fejl "Parse error: parse error, expecting `','' or `';'' in c:\apache\htdocs\06_loove\index.php on line 83"
Linjen ser således ud, og jeg kan ikk umiddelbart finde fejlen :)
Eller, var nok lidt for hurtig på aftrækkeren :O Sorry for det!
følgende fejl er stadig: "Warning: Wrong parameter count for setlocale() in c:\apache\htdocs\06_loove\index.php on line 9" - og så viser den ikke uge-numrene.. :)
echo "<td>"; $mysqldate = date("Y-m-d", mktime(0,0,0,$thism,$dag,$thisy) ); // mysqldate indeholder f.eks. 2006-11-06 // Her kan du hente datoer ud. Alternativt kan du FØR loopet hente alle // events ud for hele den aktuelle måned og checke op mod et array
Okay jeg prøver når jeg kommer hjem, men for at det ikke skal være løgn, opdagede jeg også lige, at den ikke viser sig efter hvilken dag måneden starter på? :)
CREATE TABLE rr_calendar ( id int(12) NOT NULL auto_increment, name longtext NOT NULL, date longtext NOT NULL, text longtext NOT NULL, category longtext NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;
Men er det ikke irrelevant? :)
coderdk >> Jamen den starter ALLE måneder med 1. på mandag :) Den fjerner fejlen uanset hvilken setlocal jeg bruger, men den har stadig fejlen med ugenummer og at den starter alle måneder med den 1. som en mandag. :) Og nogle måneder starter jo med tirsdag eller fredag etc.
Det virker hos mig nu efter at have uplaodet til mit webhotel på b-one .. :) Det må altså have noget at gøre med versionen af php på min server som du også snakkede om coderdk.
Jeg siger tusinde tak for den rigtig gode respons og support :) Tak mate :)
For det andet forslag, altså Coderdk's .. Det viser at datoen idag er 2006-11-31 .. :S Uanset hvad jeg ændre .. Såå har valgt Gf's, det oss noget pænere opsat synes jeg .. :P heeh ..
Jamen det jo smas behag hehe :D Eller et spørgsmål om at redigere designet :)
Synes godt om
Ny brugerNybegynder
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.