104128
Goto Top

Script, 7 Tage Ausgabe mit Array voller Termine, Kalender

Folgendes Script habe ich:

<?php
$daycount = 1;
while($daycount <= 7) {
	print '<div style="float:left;">';  
	
	// Termine abrufen
	$sql_getdates = "SELECT  
						`id`,
						`day`,
						`month`,
						`year`,
						`hour`,
						`minute`,
						`title`
					FROM
						`comerp_calendar`
					WHERE
						`day`='".mysql_real_escape_string($day_s)."'  
					AND
						`month`='".mysql_real_escape_string($month)."'  
					AND
						`year`='".mysql_real_escape_string($year)."'  
					ORDER BY
						`datetime`
					DESC
					";  
	$get_dates = mysql_query($sql_getdates) OR die(mysql_error());
	$dates = mysql_fetch_array($get_dates);
	
	$hours = 7;
	while($hours <= 18) {
		$minutes = 0;
		while($minutes <= 45) {
			print '<div style="background-color:#CCCCCC; width:100px;">'.sprintf("%1$02d", $hours).':'.sprintf("%1$02d", $minutes).'</div>';  
			$minutes = $minutes + 15;
		}
		$hours++;	
	}
	
	print "</div>";  
	
	// Tagzähler hochzählen
	$daycount++;
	$day_s++;
}
print '<div style="clear:both;"></div>';  
?>

Ich möchte eine 7 Tage Ansicht haben. Diese ist ja kein Problem. Nun soll er täglich den Tag noch in 15-Minuten einteilen, auch kein Problem.
Mit "$dates" habe ich nun ein Array, wo alle Termine des aktuellen Tages enthalten sind. Es werden also 7 Queries benötigt, um die Termine auszulesen.

Wie kann ich nun in der "while($minutes..." prüfen, ob für die Uhrzeit ein Termin im Array steckt? Ich hab es mit "for" bereits probiert - allerdings kam nur Müll heraus...Hat jemand einen Lösungsansatz?

Ich danke im voraus!
Lg, Marc

Content-ID: 178364

Url: https://administrator.de/contentid/178364

Ausgedruckt am: 23.11.2024 um 00:11 Uhr

viplex
viplex 04.04.2012 um 21:49:06 Uhr
Goto Top
Schon eine Lösung gefunden?
104128
104128 09.04.2012 um 22:05:33 Uhr
Goto Top
Hey!

Leider bisher keine Lösung face-sad

*push*
viplex
Lösung viplex 09.04.2012, aktualisiert am 06.01.2014 um 23:28:28 Uhr
Goto Top
Hallo, an sich ist das überhaupt kein Problem. Gib mal die SQL Struktur durch. (show create)
Ich würde bei deinem Problem aber anders ansetzen. Ich würde die Woche bestimmen und dann alle Termine dieser holen. Dann reicht auch eine Query.


So wie du es jetzt gelöst hast, musst du mit der mysql antowrt weiterarbeiten.
Diese würde ich in ein assoziatives array packen. Danach kannst du in der while-schleife(mit den minuten)
mit if abfragen, ob in dem neuen array daten vorhanden sind.

wenn du den code dazh brauchst. schreib einfach
104128
104128 22.04.2012 um 13:18:04 Uhr
Goto Top
Hier die Struktur:

Field Type Null Key Default Extra
id int(11) PRI NULL auto_increment
day int(2) 0
month int(2) 0
year int(4) 0
hour int(2) 0
minute int(2) 0
datetime bigint(15) unsigned zerofill MUL 000000000000000
title varchar(255)
description text


Ich wüsste grad nicht, wie ich den Code umschreiben müsste. Dein Angebot "wenn du den code dazh brauchst. schreib einfach" würde ich deshalb gerne annehmen ;D

Lg, Marc