webForumDet fria alternativet

Loopa ut datum efter val

PHP

2 svar · 1 168 visningar · startad av Skatedragon

Medlem sedan juni 200332 inlägg
Frågan#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!

Medlem sedan juni 20006 031 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.

Medlem sedan juni 200332 inlägg
#3

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

385 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
124 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)