Uhrzeit: darf nicht dazwischen sein

quidnovi

Erfahrenes Mitglied
Hi folks,

habe Mysql Db, in der Einträge mit Uhrzeiten versehen sind.
Folgende Abfrage:
PHP:
$sqlCheck = "SELECT ".
			    "MIN(beginn) AS minBeg, ".
			    "MAX(ende) AS maxEnd ".
		   		"FROM ".$abrechnung." ".
			    "WHERE persnr ='".$_SESSION['user_persnr']."' ".
			    "AND datTag = '".$_POST['datTag']."'";

		   $resCheck = mysql_query($sqlCheck) or die (mysql_errno() . ": Keine Verbindung zu \"$abrechnung\"! " . mysql_error()."<p />".$sqlCheck);

			while ($row = mysql_fetch_object($resCheck)){
				$beginnNeu	= preg_replace("/[^0-9]/", "", $null_1); // $null_1 und $null_2 werden vom Eingabeformular übergeben
				$endeNeu	= preg_replace("/[^0-9]/", "", $null_2);
				$beginnDb 	= preg_replace("/[^0-9]/", "", $row->minBeg);
				$endeDb 	= preg_replace("/[^0-9]/", "", $row->maxEnd);
				//echo $beginnDb." - ".$beginnNeu."<br />".$endeDb." - ".$endeNeu;die();
				if ($beginnDb >= $beginnNeu &&
					$endeDb <= $endeNeu){
						header('LOCATION:./eingabePc.php#'.$_POST['neueZeile']);
						exit();
				}
				else{
					// Insert Befehle ausführen

ergibt: 0700 und 1600

Der nächste Eintrag darf nicht zwischen 0700 und 1600 liegen (zb. 800,900).
0030 - 0700 und 1600 - 0000 muss aber schon möglich sein.

Meine if Abfrage, funktioniert leider so nicht.
Stehe nun aber momentan auf dem Schlauch, wie gestalte ich die if Abfrage?

Gebt mir bitte einen Schubs in die richtige Richtung, danke.
 
sry, wenn ich mich ein wenig kompliziert und unverständlich ausgedrückt habe.

Probiere es anders:

Es sind mehrere Einträge pro Tag in der Db:
1. Eintrag: 2008-03-17, 07:00 - 12:00
2. Eintrag: 2008-03-17, 12:00 - 13:00
3. Eintrag: 2008-03-17, 13:00 - 16:00

Nun darf ein neuerlicher Eintrag am 2008-03-17 nicht in der Zeit zwischen 07:00 und 16:00 liegen.

Wenn nun ein neuerlicher Eintrag am 2008-03-17 von 06:00 - 07:00 und/oder 16:00 - 17:00 liegt, dann sollte dies möglich sein.

Hoffe, dass das jetzt ein wenig verständlicher ist :-)
 
Nu habe ich wenigstens folgendes gelöst:

in Db Beginn 07:00
in Db Ende 16:00

Folgende Eingabe geht nun nicht mehr:
Beginn 08:00
Ende 15:00

Code dazu:
PHP:
if ($beginnNeu >= $beginnDb && $endeNeu <= $endeDb)

Nun darf folgendes aber auch nicht funktionieren:
Basierend auf obig genannte DB Einträge:
Beginn 06:00
Ende 17:00

oder

Beginn 06:00
Ende 15:00

oder

Beginn 09:00
Ende 18:00

Folgendes muss aber schon möglich sein:
Beginn 06:00
Ende 07:00

oder

Beginn 16:00
Ende 20:00

Also alles vor 07:00 und nach 16:00

Verständlicher?
 
Zurück