Hee Hallo!

Ik zit met een klein vraagje. Ik heb namelijk een Rooster script gemaakt, dat gebruikers de mogelijkheid geeft om een uur te kiezen per dag. Nu is mijn vraag, hoe kan ik die keuze limiteren tot maximaal 2 uren per dag?


<?php
	$dezeweek = date('W');

	echo'	</div>
		<div class="bot"></div>
		<div class="blacktop">Deze Week ('.$dezeweek.')</div>
		<div class="mid">';

$weelie  = 	array(	1 => 'Maandag', 
			2 => 'Dinsdag', 
			3 => 'Woensdag',
			4 => 'Donderdag',
			5 => 'Vrijdag',
			6 => 'Zaterdag',
			7 => 'Zondag');

if($_POST['dezeweek']){

	for($o = 1; $o < 8; $o++){
		for($i = 7; $i < 25; $i++){
			if($i < '10'){
				$tijdstip = '0'.$i;
			}else{
				$tijdstip = $i;
			}

			$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
			list($tijd, $week, $dagcode) = split('_', $postgeval);

			$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
			$memberid = mysql_fetch_row($sqlid);
			$gevuld = mysql_query("SELECT id FROM rooster WHERE tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
			
			if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
				$jippie = '0';
				echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
			}else{
				if($_POST[$postgeval]){
					if(mysql_num_rows($gevuld) > '0'){
						echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
					}else{
						mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','1')") or die(mysql_error());
					}
				}
			}
		}
	}

	if($jippie != '0'){
		echo '<b>Gelukt!</b><br>Je hebt er weer een paar uurtjes bij gekregen.';
	}
}else{
		echo'<form action="" method="post">';



for($o = 1; $o < 8; $o++){

	echo '<table border="0" cellpadding="2" cellspacing="2" style="border-collapse:collapse;" align="left" width="25%">';
	echo '<tr><td colspan="2"><b>'.$weelie[$o].'</b><hr></td></tr>';
	
	
	for($i = 7; $i < 25; $i++){

		if($i < '10'){
			$tijd = '0'.$i;
		}else{
			$tijd = $i;
		}

		$sqlrooster = mysql_query("SELECT dj FROM rooster WHERE status = '1' AND dagcode = '".strtolower(substr($weelie[$o], 0, 2))."' AND week = '".$dezeweek."' AND tijd = '".$tijd."' ORDER BY tijd ASC") or die(mysql_error());
		$rowrooster = mysql_fetch_row($sqlrooster);
		$sqlname = mysql_query("SELECT gebruikersnaam FROM gebruikers WHERE id = '".$rowrooster[0]."'") or die(mysql_error());
		$rowname = mysql_fetch_row($sqlname);

		if(mysql_num_rows($sqlrooster) > '0'){
			$space = 'jail';
		}else{
			$space = 'free';
		}

    			echo '<tr>';
				
				if($space == 'jail'){
      					echo'<td align="left" valign="top"><br></td>';
				}else{
      					echo'<td align="right" valign="top" width="1%"><input id="'.$space.'" type="checkbox" value="1" name="'.$tijd.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2)).'" style="width:95%"> </td>';
					echo'<td align="left" valign="top" width="20%"><b>'.$tijd.':00</b></td>';
				}

    			echo'	</tr>';

	}
	
	echo'</table>';

	if($o%4 == '0'){
		echo'<div style="clear:both;"></div><br><br>';
	}
}
	echo'<div style="clear:both;"></div><br><br>';
	echo'<input type="submit" name="dezeweek" value="Ik wil me inroosteren.">';
	echo'</form>';
}
?>


Ik wilde dit ook doen via een cronjob, maar ik zat een beetje in verwarring over hoe ik dat moest gaan doen.


<?php
	$sql_win = mysql_query("SELECT id FROM rooster GROUP BY dj, dagcode, week ORDER BY id DESC") or die(mysql_error());
	
	if(mysql_num_rows($sql_win) > '0'){
		while($row_win = mysql_fetch_row($sql_win)){
			mysql_query("DELETE FROM rooster WHERE id = '".$row_win[0]."'") or die(mysql_error());
		}
	}
?>


Kun je wat meer uitleg geven? en je code tussen [ignore]<?php en ?>[/ignore] tags zetten?

In het simpelste geval:

<?php
    $count = 1 # aantal uur per dag.
    if ($count < 2) {
        #proceed...
    }
?>
Wel jammer dat het iets ingewikkelder ligt volgens mij.

Ik heb een lijst met selectievakjes en daarnaast tijden. Waarbij DJ's aan kunnen vinken welke tijden ze willen hebben. Nu is mijn punt, dat een DJ niet meer dan 2 uur per dag zou kunnen inplannen. Ik zit zelf in de knoop omdat ik de mysql en vakjes met de functie for() uitvoer. Dus, 7 dagen waarin de tijden van 7-24 oplopen. En hoe kan ik dan nu zien, als ik mijn forum submit, wanneer ik meer als 2 uur heb aangevinkt?


<?php
	for($o = 1; $o < 8; $o++){
		for($i = 7; $i < 25; $i++){
			if($i < '10'){
				$tijdstip = '0'.$i;
			}else{
				$tijdstip = $i;
			}

			$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
			list($tijd, $week, $dagcode) = split('_', $postgeval);

			$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
			$memberid = mysql_fetch_row($sqlid);
			$gevuld = mysql_query("SELECT id FROM rooster WHERE status > '0' AND tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
			
			if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
				$jippie = '0';
				echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
			}else{
				if($_POST[$postgeval]){
					if(mysql_num_rows($gevuld) > '0'){
						echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
					}else{
						mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,jaar,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','".date('Y')."','1')") or die(mysql_error());
					}
				}
			}
		}
	}
?>

Reageren