webForumDet fria alternativet

Loopa ut datum efter val

2 svar · 1 166 visningar · startad av Skatedragon

SkatedragonMedlem sedan juni 200332 inlägg
#1

Jag skulle vilja loopa ut datum enligt en viss schemaläggning, vilket jag har lite problem med.

Har skapat ett formulär där man ska kunna välja att loopa ut alla dagar, vardagar, udda veckor eller jämna veckor mellan åååå-mm-dd och åååå-mm-dd. Sedan postar man formuläret och datumen ska listas. Har varit inne på http://www.php.net/date men inte hittat något vettigt jag kunnat använda mig av.

Någon som kan vägleda mig hur jag ska loopa ut datum enligt dessa kriterier?

Tack på förhand!

PeddaMedlem sedan juni 20006 032 inlägg
#2

Här har du något att börja med.

<form id="form1" name="form1" method="post" action="">
  <label for="fromDate">Fr.o.m</label>
  <input name="fromDate" type="text" id="fromDate" value="2011-01-01" />
  <label for="toDate">T.o.m</label>
  <input name="toDate" type="text" id="toDate" value="2011-02-16" />
  <label for="show">Val</label>
  <select name="show" id="show">
    <option value="Alla">Alla</option>
    <option value="Vardagar">Vardagar</option>
    <option value="Udda">Udda veckor</option>
    <option value="Jamna">Jämn veckor</option>
  </select>
  <input type="submit" name="Submit" id="Submit" value="Submit" />
</form>

<?php 
if(isset($_POST['Submit'])) 
{
	$startDate = $_POST['fromDate'];
	$endDate = date("Y-m-d", strtotime("+1 day", strtotime($_POST['toDate'])));
	$loopDate = $startDate;
	
	while($loopDate != $endDate)
	{
		switch ($_POST['show'])
		{
			case "Alla":
				echo $loopDate . "<br />";
				break;
			case "Vardagar":
				// kolla om loopDate är en vardag
				break;
			case "Udda":
				// kolla om loopDate är i en udda vecka
				break;
			case "Jamna":
				// kolla om loopDate är i jämn vecka
				break;
		}
		$loopDate = date("Y-m-d", strtotime("+1 day", strtotime($loopDate)));
	}
}
?>

/red
Givetvis så får du lägga till kontroll så startdatum inte är högre än slutdatum och att det verkligen är datum som skickas in mm.

SkatedragonMedlem sedan juni 200332 inlägg
#3

Tack så hemskt mycket, en bra vägledning!

133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)