---
title: "Flerdagarshändelser i kalender"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/171340-flerdagarshändelser-i-kalender"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Peeer"
published: "2008-05-09T07:19:39.000Z"
updated: "2008-06-04T18:39:55.000Z"
replies: 12
views: 843
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/171340-flerdagarshändelser-i-kalender"
---

# Flerdagarshändelser i kalender

## #1 — Peeer, 2008-05-09T07:19Z

Hej!
Säg att jag håller på och ska bygga en kalender. I kalendern ska man kunna lägga in händelser som sträcker sig över flera dagar (se [bild](http://www.webforum.nu/attachment.php?attachmentid=18011)). Hur sjutton gör man det på bästa sätt?

Först tänkte jag tabellceller som slås ihop, men det blir bök när en händelse startar samma dag som en annan slutar. Kreativa tips någon?

Permalänk: https://www.webforum.nu/p/171340

## #2 — Peeer, 2008-05-20T14:32Z

ingen?

Permalänk: https://www.webforum.nu/p/2111442

## #3 — überfuzz, 2008-05-20T14:43Z

Var tänker du spara eventen och hur hämtar du dem? SQL-tabell?

Min första tanke är olika block som sträcker sig över en eller flera dagar. När du hämtar event måste du kolla vilken blocktyp som ska kopplas till det och på vilken dag det ska starta.

Permalänk: https://www.webforum.nu/p/2111447

## #4 — Peeer, 2008-05-20T14:52Z

Ja eventen ligger i en databas. 
Kan du förklara mer hur du menar med blocken? Hur ska man göra så att de kan sträckas över flera dagar? Hur bygger man upp själva kalendern?

Att bygga upp kalendern kan man ju göra väldigt enkelt (typ tabellceller), men det blir krångel när det kommer flerdagarshändelser som sagt.

Permalänk: https://www.webforum.nu/p/2111450

## #5 — chrille@swu, 2008-05-26T14:58Z

Kolla in andra kalendrar och få lite inspiration, t.ex. <https://www.google.com/calendar>. Inläggningen där är väldigt smidig.

Ett tips kan vara att lägga evenemanget som ett enskilt evenemang på de olika dagarna men ha någon ikon eller liknande som visar att det fortsätter från föregående dag och en ikon som visar att det fortsätter in på nästa dag.

Permalänk: https://www.webforum.nu/p/2112631

## #6 — Peeer, 2008-05-26T16:33Z

> **chrille@swu skrev:**
>
> Kolla in andra kalendrar och få lite inspiration, t.ex. <https://www.google.com/calendar>.

Jo jag vet. Det är därför som bilden i första inlägget är hämtat från just googles kalender. Jag vill att den ska se ut som den men vet inte hur jag ska göra.

Permalänk: https://www.webforum.nu/p/2112654

## #7 — her0n, 2008-06-03T15:00Z

Du kanske kan räkna ut hur många dagar händelsen är aktiv, och använda rowspan.

Ska  iväg och grilla, men hann få ihop en liten snutt hur jag tänkte. Kanske kan vara något på vägen.

```php
<style type="text/css">

.date {
	background: #eee;
}
table {
	border: 1px solid #aaa;
	border-collapse: collapse;
}
table td {
	border: 1px solid #ccc;
	width: 100px;
}
.handelse {
	background: #eee;
}
</style>
</head>

<body>

<table>
	<tbody>
		<tr>
<?php 

$datum 		= date("j");

$handelse 	= array(// datum => antal dagar, todo
					6 => array(2, "Klippa håret"),
					4 => array(1, "Mat hos far")
				);

for ($i = $datum; $i <= $datum+6; $i++)
{		
	echo "<td class=\"date\">$i</td>\n";	
}

	echo "</tr><tr>\n";

for ($i = $datum; $i <= $datum+6; $i++)
{		

	if (array_key_exists($i, $handelse))
	{
		$info 		= $handelse[$i][1];
		$colspan 	= " colspan=\"". $handelse[$i][0] ."\"";
		$class		= " class=\"handelse\"";
		
		$i = $i+$handelse[$i][0]-1;//Hoppa över antal dagar i loopen
	}
	else
	{
		$info 		= "";
		$colspan 	= "";
		$class  	= "";
	}
		
	echo "<td$colspan$class>&nbsp;$info</td>\n";

}

?>
		</tr>
	</tbody>
</table>
```

 

Inte så snygg kod och dåligt kommenterad. Men jag hann visa hur tanken är iaf.

Permalänk: https://www.webforum.nu/p/2116632

## #8 — silfver, 2008-06-03T16:52Z

Peeer: Hur fick du dit veckodagarna i gCal? :) (sorry ;))

Permalänk: https://www.webforum.nu/p/2116648

## #9 — Peeer, 2008-06-03T18:43Z

> **her0n skrev:**
>
> Du kanske kan räkna ut hur många dagar händelsen är aktiv, och använda rowspan.

Tänkt lite i de banorna också, men hur gör man om man har en händelse som börjar på måndagen och slutar på tisdagen. En annan händelse som börjar på tisdagen och slutar på onsdagen och en händelse som bara utspelar sig på tisdagen. Blir bök med colspan då!

Silfver \> Veckodagar? (Mån/tis/ons?) De är väl där som standard?   :o

Permalänk: https://www.webforum.nu/p/2116660

## #10 — silfver, 2008-06-03T19:11Z

> **Peeer skrev:**
>
> Silfver \> Veckodagar? (Mån/tis/ons?) De är väl där som standard?   :o

GAH! Veckor menar jag. :) Du har veckonummer i din bild.

Permalänk: https://www.webforum.nu/p/2116670

## #11 — MickeA.com, 2008-06-03T20:03Z

Om du vet hur bred varje dag är i din kalender, kan du ju använda t.ex. en div med z-index ovanför kalendern, du kollar hur många dagar en händelse sträcker sig och multiplicerar med en dags bredd.

Det hade nog jag försökt med.

Permalänk: https://www.webforum.nu/p/2116676

## #12 — MickeA.com, 2008-06-03T20:07Z

Testade snabbt nu med Google's kalender.
Den gör precis som jag säger ovan, detta är stilen på en händelse som stäcker sig från idag till på söndag:

```
element.style {
	left:403px;
	top:1px;
	width:996px;
	z-index:5;
}
```

Eftersom man vet bredden för en dag, är det lätt att sätta "left", "width" osv.

Permalänk: https://www.webforum.nu/p/2116677

## #13 — Peeer, 2008-06-04T18:39Z

> **MickeA.com skrev:**
>
> Om du vet hur bred varje dag är i din kalender, kan du ju använda t.ex. en div med z-index ovanför kalendern, du kollar hur många dagar en händelse sträcker sig och multiplicerar med en dags bredd.
> 
> Det hade nog jag försökt med.

Mjo, det är väl en möjlighet kanske. Men det blir ett himla bökande med top-placeringen då också. Om två händelser berör samma dag (typ en börjar och en slutar), så ska de ju inte krocka med varandra. Sen ska de andra ändarna på de händelserna inte krocka med något annat osv. Man vill ju inte ha överlapp på händelserna.

Googlecalender resizas ju dessutom när man ändrar fönstrets storlek. Hur går det ihop med den statiska storleken?

> **silfver skrev:**
>
> GAH! Veckor menar jag. :) Du har veckonummer i din bild.

Ah, det borde jag ju ha förstått att du menade. Sorry..
<http://recover89.googlepages.com/googlecalendarweeknumbers>

Permalänk: https://www.webforum.nu/p/2116798

---

Tråden på webben: https://www.webforum.nu/amne/html-css/171340-flerdagarshändelser-i-kalender
