---
title: "Läsa in händelser på datumet?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/152774-läsa-in-händelser-på-datumet"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "streetrobban"
published: "2006-10-20T09:06:07.000Z"
updated: "2011-04-04T12:41:31.000Z"
replies: 8
views: 1373
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/php/152774-läsa-in-händelser-på-datumet"
---

# Läsa in händelser på datumet?

## #1 — streetrobban, 2006-10-20T09:06Z

Hej, jag undrar hur man läser in händelser från databasen och visar på det aktuella datumet...

```php
	<?
	$date = time();
	$day = date("d", $date);
	$month = date("m", $date);
	$year = date("Y", $date);

	$enable_events = true;

        // Öppna databasen
	require 'includes/database.php';
        
	// Hämta text från dagens datum
	$get = mysql_query("SELECT * FROM kalender");
	while($row = mysql_fetch_array($get)) 
	{
		$id = $row['id'];
		$text = $row['text'];
		$dag = $row['day'];
		$manad = $row['month'];
		$ar = $row['year'];
	}

	// Stäng databasen
	mysql_close($open);

	if(!isset($text) || $dag == $day)
	{
		$event_display = "Inga händelser idag.";
	}
	else
	{
		$event_display = $text;
	}

	$first_day = mktime(0,0,0,$month, 1, $year);
	$title = date("F", $first_day);
	$day_of_week = date("D", $first_day);

	switch($day_of_week)
	{
		case "Sönd": $blank = 0; break;
		case "Mon": $blank = 1; break;
		case "Tis": $blank = 2; break;
		case "Ons": $blank = 3; break;
		case "Tor": $blank = 4; break;
		case "Fre": $blank = 5; break;
		case "Lör": $blank = 6; break;
	}

	$days_in_month = cal_days_in_month(0, $month, $year);

	echo "<table border=\"3\" cellpadding=\"2\" cellspacing=\"4\" style=\"background: #aaa; border: 5px solid #555; color: #000; text-align: center\" width=\"420\">
	<tr>
		<td colspan=\"7\" style=\"background: #ddd; color: #d00;\"><strong>$title, $year</strong></td>
	</tr>
	<tr>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Sön.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Mon.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Tis.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Ons.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Tor.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Fre.</strong></td>
		<td style=\"background: #eee; color: #000\" width=\"60\"><strong>Lör.</strong></td>
	</tr>
	<tr>";

	$day_count = 1;
	$day_number = 1;

	while($blank > 0)
	{
		echo "<td></td>";
		$blank = $blank-1;
		$day_count++;
	}

	while($day_number <= $days_in_month)
	{
		if($day_number < $day)
		{
			echo "<td style=\"background: #bbb; border: 2px solid #ccc; color: #000\">$day_number</td>";
		}
		elseif($day_number == $day)
		{
			echo "<td style=\"background: #fff; border: 2px solid #555; color: #000\"><strong>$day_number</strong></td>";
		}
		else
		{
			echo "	<td style=\"background: #ccc; border: 2px solid #ddd; color: #000\">$day_number</td>";
		}
		$day_number++;
		$day_count++;
	
		if($day_count > 7)
		{
			echo "</tr><tr>";
			$day_count = 1;
		}
	}

	while($day_count > 1 && $day_count <= 7)
	{
		echo "<td></td>"; 
		$day_count++;
	}

	echo "</tr></table><br/><hr/>";

	if($enable_events == true)
	{
		echo "<br/><strong>Händelser för ".$title." ".$day.", ".$year."</strong><br/>";
		echo $event_display."<br/>";
	}
	?>
```

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

## #2 — The_Hulk, 2006-10-20T10:44Z

Vad gör ditt skript idag?
försöker du hämta händelser och får fel?
beskriv gärna lite mer vad som händer och om du får några fel eller om du bara vill att vi ska bygga om skriptet för dig.

Jag personligen orkade inte sitte och läsa genom skriptet för att se vad du gör och om det är något fel.

Vad vill du göra med följande kod?

```php
    while($row = mysql_fetch_array($get))
    {
        $id = $row['id'];
        $text = $row['text'];
        $dag = $row['day'];
        $manad = $row['month'];
        $ar = $row['year'];
    }
```

du loopar över alla träffar men och sparar värdena i nya variabler so mdu sedan inte göra något med utan sparar över de igen?

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

## #3 — streetrobban, 2006-10-20T11:03Z

Tjenare, nej scriptet visar en kalender med alla datum för månaden. Har man lagt till någon event på dagens datum så skrivs det ut under kalendern. Men jag vill ha klickabara länkar på dagar där det finns events tillagda. Det vill jag ha hjälp med, kodexempel, pointers, vad som helst =)

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

## #4 — streetrobban, 2006-10-23T08:13Z

Bump! Någon som har några ideer?

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

## #5 — The_Hulk, 2006-10-23T08:35Z

Antingen kan du hämta ut alla händelser för månaden spara de i array:er innan du börjar att rita kalendern eller kan du hämta ut händelser för varje dag medans du ritar upp kalenderna men då kommer du göra många förfrågningar till databasen.
Ska du ha flera händelser för varje dag?
Ska det visas på olika sätt om det finns flera händerlser på en dag, d.v.s. ska det finns flera länkar att klicka på eller bara en länk per dag oavsett antal händelser för den dagen?
Ska händelsen skrivas ut i kalendern eller bara visas som markering att det finns händelse?

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

## #6 — streetrobban, 2006-10-23T10:25Z

\- Man ska kunna ha flera händelser för varje dag.
\- Klickar man på ett datum visas alla händelser tillsammans.
\- Det finns bara en länk på varje dag.
\- Händelsen ska skrivas ut med att datumet är klickbart, annars visas bara datumet som en vanlig text.

Jag antar att då är bäst att spara månadens händelser i arrayer?

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

## #7 — The_Hulk, 2006-10-23T10:49Z

då kan vi börja med att bygga upp arrayn med händelser för månaden.
Det hade varit bra o mdu kunde skicka med en skiss över tabellen för kalendern.

```php
    $show_month = 5;
    $events = array();
    $get = mysql_query("SELECT * FROM kalender where month=$show_month group by day");  // hämta endast ut händelser för denna månaden, grupper per dag för vi är bara intresserade av ifall det finns en händelse för respektive dag
    while($row = mysql_fetch_array($get))
    {
        $events[$row['day']] = true; // markera att det finns en händelse
    }
```

tittar lite på där du ska ange ifall det finns händelse.

```php
        $day_text = $day_number;

        if(isset($events[$day_number]) && $events[$day_number])
        {
            $day_text = "<a href=\"cal_show_day.php?show_day=$day_number\">$day_number</a>";
        }

        if($day_number < $day)
        {
            echo "<td style=\"background: #bbb; border: 2px solid #ccc; color: #000\">$day_text</td>";
        }
        elseif($day_number == $day)
        {
            echo "<td style=\"background: #fff; border: 2px solid #555; color: #000\"><strong>$day_text</strong></td>";
        }
        else
        {
            echo "    <td style=\"background: #ccc; border: 2px solid #ddd; color: #000\">$day_text</td>";
        }
```

Där har du lite mer hjälp, försök nu göra resten själv.

Observera att jag inte har testat koden utan utgått ifrån din egen kod.

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

## #8 — otsuka, 2011-04-01T13:03Z

fick du det att funka?, jag behöver med ett event kalender :(.

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

## #9 — streetrobban, 2011-04-04T12:41Z

Tja, jag tror inte att jag gjorde klart detta tyvärr. Kanske något man får kolla på vid tillfälle. Meddela gärna om du hittar på någon lösning.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/152774-läsa-in-händelser-på-datumet
