abrj Skrevet 24. januar 2007 Skrevet 24. januar 2007 (endret) Fant et fint kalenderskript her inne, som jeg sitter å mekker litt om. Dere kan se hvordan det tar seg ut her (på en testside jeg bruker): http://www.genialweb.com/kalender/ Det er en ting jeg sliter skikkelig med: Hvis dere klikker på en dato ser dere det kommer opp f.eks. XXX 31 Januar 2007 (avhengig av hvem dag jeg velger). Hvordan i huleste får jeg skriptet til å vise navnet på den dagen jeg har valgt (slik at det f.eks blir Onsdag 31 Januar 2007)? Nå vises datoene jeg velger, men ikke navnet på dagen. <?php //Skrevet av Eirik Opsanger $mnd = $_GET['m']; $aar = $_GET['y']; if($mnd == null) { $mnd = date("n"); } if($aar == null) { $aar = date("Y"); } if($mnd == 1) { $mnd_f = 12; $aar_f = $aar-1; } else { $mnd_f = $mnd-1; $aar_f = $aar; } if($mnd == 12) { $mnd_n = 1; $aar_n=$aar+1; } else { $mnd_n = $mnd+1; $aar_n=$aar; } if($mnd > 12 || $mnd <1 || (!is_numeric($mnd)) || $aar > 2100 || $aar < 1900 || (!is_numeric($aar))) { $mnd = date("n"); $aar = date("Y"); } $mnder = array( 1=> "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"); $dager = array(1=> "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"); $forste_dag = date(w, mktime(1,1,1,$mnd,1,$aar)); if($forste_dag == 0) { $forste_dag = 7; } print("<h1>$mnder[$mnd] $aar</h1>\n<a href=\"?m=$mnd_f&y=$aar_f\">Forrige</a> - <a href=\"http://www.genialweb.com/kalender/\">HJEM</a> - <a href=\"?m=$mnd_n&y=$aar_n\">Neste</a>\n<br>\n<br>\n"); print("<table width=\"350\">"); //printe ut alle dagene i en uke print("\n<tr>\n"); for($i=1; $i<=7; $i++) { print("<td width=\"50\">$dager[$i]</td>"); } print("\n</tr>"); //sjekke hvor mange dager måneden har $ant_dager = (date(j, mktime(0,0,0,$mnd_n,-1,$aar))+1); $j = 1; print("\n<tr>\n"); //Skriver ut tomme celler før den 1. i måneden. for($k=1;$k<$forste_dag;$k++) { print("<td width=\"50\"> </td>"); $j++; } //Skriver ut alle datoer for($i=1; $i<=$ant_dager; $i++) { print ("<td width=\"50\" align=\"right\"><a href=\"?d=$i&m=$mnd&y=$aar&kid=$i$mnd$aar\">$i</a></td>"); //Sjekker om det er nye uke $j++; if($j%7 == 1) { print("\n</tr>\n<tr>\n"); } } //Skriver ut tomme celler etter den 31. i måneden while($j%7 != 1) { print("<td width=\"50\"> </td>"); $j++; } print("</tr>\n"); print("</table>\n"); ?> <p> <?php $kidden = $_GET['kid']; $dagen = $_GET['d']; if ($kidden > "") { echo"XXX $dagen $mnder[$mnd] $aar <br>"; } else { $kidden = "Ingen dato valgt"; } ?> <? echo $kidden; ?>. </p> Endret 24. januar 2007 av abrj
Jarmo Skrevet 24. januar 2007 Skrevet 24. januar 2007 ikke for å bumpe, men dytt dytt... 7789381[/snapback] Ingen feil med kreativiteten ang. bumping...
Anders Moen Skrevet 24. januar 2007 Skrevet 24. januar 2007 Jeg vet ikke om dette er riktig, men du må vel lage en som henter ut dagen også, i stedet for bare måned og år? $mnd = $_GET['m']; $aar = $_GET['y']; $dag = $_GET['d']; // Er det ikke "d" man bruker for day da? if($mnd == null) { $mnd = date("n"); } if($aar == null) { $aar = date("Y"); } if($dag == null) { $dag = date("d"); } Og så må du jo selvfølgelig legge den på lenger ned et sted der du printer det ut...
abrj Skrevet 24. januar 2007 Forfatter Skrevet 24. januar 2007 (endret) Klarer ikke å få bundet at f.eks 25. januar 2007 er en Torsdag, mens f.eks 6. februar er en Tirsdag. Får med datoene, måneden og årene, men ikke navnet på dagen. I stedenfor at det bare står 25. januar 2007 vil jeg at det skal stå Torsdag 25. januar 2007 hvis dere skjønner. Endret 24. januar 2007 av abrj
EirikO Skrevet 24. januar 2007 Skrevet 24. januar 2007 Du må lage datoen til unix-format og bruke følgende dato-funksjon: <?php $dag = $_GET['d']; $mnd = $_GET['m']; $aar = $_GET['y']; $unix-tid = mktime(1,0,0,$mnd,$dag,$aar); print(dato($unix_tid)); ?>
abrj Skrevet 24. januar 2007 Forfatter Skrevet 24. januar 2007 (endret) Du må lage datoen til unix-format og bruke følgende dato-funksjon: <?php $dag = $_GET['d']; $mnd = $_GET['m']; $aar = $_GET['y']; $unix-tid = mktime(1,0,0,$mnd,$dag,$aar); print(dato($unix_tid)); ?> 7790419[/snapback] Var et par skrivefeil men når jeg bruker følgende kode: <?php $dag = $_GET['d']; $mnd = $_GET['m']; $aar = $_GET['y']; $unix_tid = mktime(1,0,0,$mnd,$dag,$aar); print(date($unix_tid)); ?> får jeg bare -1. Klikker jeg så på en dato kommer det en lang remse tall... Kan det være så vanskelig å få opp f.eks Onsdag hvis jeg klikker på en dag som er Onsdag, eller Søndag, hvis dagen jeg klikker på er Søndag? Endret 24. januar 2007 av abrj
EirikO Skrevet 24. januar 2007 Skrevet 24. januar 2007 (endret) Sorry, glemte jo dato-funksjonen: function dato($tid_unix) { $engelsk = array("January", "February", "March", "April", "May", "June", "July", "August", "October", "November", "September", "December", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); $norsk = array("Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "Oktober", "November", "September", "Desember", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"); return str_replace($engelsk, $norsk, strftime("%A %e. %B", $tid_unix)); } Lim inne på toppen av dokumentet, så kaller du print(dato($unix_tid)); Endret 24. januar 2007 av EirikO
ZoRaC Skrevet 24. januar 2007 Skrevet 24. januar 2007 eller bare slik: $dager[1] = "Søndag"; // Starter med søndag... $dager[2] = "Mandag"; $dager[3] = "Tirsdag"; osv echo $dager[date("w")];
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå