Ik ben een reserveringssysteem aan het maken. Een leraar moet een CMDB_item (leermiddel) kunnen reserveren wanneer dit CMDB_item (leermiddel) niet al gereserveerd is.
CMDB
cmdb_id
soort_id
weergavenaam
actief
RESERVERINGEN
reservering_id
reden
reservering_td
verwacht_td
uitleen_td (wanneer het echt is uitgeleend)
teruggave_td (wanneer het terug is gebracht)
Nu voert een leraar dus een (toekomstige)reservering_id en een (toekomstige)verwacht_td in bij STAP 1. De leraar gaat naar STAP 2 en ziet een select box met options. De options zijn alle CMDB_items maar degene die gereserveerd zijn moeten "disabled=disabled" krijgen & grijs worden.
Nu is dit STAP 2:
<?php
include("includes.php");
include("functions.php");
check();
if(empty($_POST)){
header("Location:reservering_plaatsen.php");
die();
}
else {
if(empty($_POST['reservering_dag']) OR
empty($_POST['reservering_maand']) OR
empty($_POST['reservering_jaar']) OR
empty($_POST['reservering_uur']) OR
empty($_POST['reservering_minuten']) OR
empty($_POST['verwacht_dag']) OR
empty($_POST['verwacht_maand']) OR
empty($_POST['verwacht_jaar']) OR
empty($_POST['verwacht_uur']) OR
empty($_POST['verwacht_minuten'])){
echo "<p>Alles moet ingevuld worden, ga terug</p>";
die();
}
else {
$reservering_uur = $_POST['reservering_uur'];
$reservering_minuten = $_POST['reservering_minuten'] - 10;
// reservering gegevens
$reservering_datum = $_POST['reservering_dag']."/".$_POST['reservering_maand']."/".$_POST['reservering_jaar'];
$reservering_tijd = $reservering_uur.":".$reservering_minuten;
$_SESSION['form_reservering_plaatsen']['reservering_td'] = dateToTime($reservering_datum,$reservering_tijd);
$verwacht_uur = $_POST['verwacht_uur'];
$verwacht_minuten = $_POST['verwacht_minuten'] + 10;
// verwacht gegevens
$verwacht_datum = $_POST['verwacht_dag']."/".$_POST['verwacht_maand']."/".$_POST['verwacht_jaar'];
$verwacht_tijd = $verwacht_uur.":".$verwacht_minuten;
$_SESSION['form_reservering_plaatsen']['verwacht_td'] = dateToTime($verwacht_datum,$verwacht_tijd);
}
}
// header
echo $header;
?>
<div id="container">
<?php echo $menu; ?>
<div id="content" class="right">
<h3>Reservering plaatsen: Stap 2</h3>
<br />
<p><strong style="color:red;">Let op:</strong> Lichtgrijze leermiddelen zijn al gereserveerd en kunnen niet gereserveerd worden!</p>
<br />
<form method="post" action="reservering_plaatsen_stap3.php">
<p>Wat moet er gereserveerd worden?</p>
<select name="cmdb_id" onchange="if(this.options[this.selectedIndex].disabled==true){ this.selectedIndex=0; alert('LET OP: Lichtgrijze leermiddelen zijn al gereserveerd en kunnen niet gereserveerd worden!'); }">
<?php
mysqlConnect();
$query = "SELECT cmdb_id,weergavenaam FROM cmdb WHERE actief='1' ORDER BY weergavenaam ASC";
$sql = mysql_query($query) or die("<p>Fout in query. ".mysql_error()."</p>");
$numrows = mysql_num_rows($sql);
mysqlStop();
if($numrows > 0){
for($i=0;$i<$numrows;$i++){
$weergavenaam = ucfirst(mysql_result($sql,$i,"cmdb.weergavenaam"));
$cmdb_id = mysql_result($sql,$i,"cmdb.cmdb_id");
mysqlConnect();
$query2 = "SELECT reservering_td,verwacht_td FROM reserveringen WHERE cmdb_id='".$cmdb_id."' AND reservering_td >= '".$_SESSION['form_reservering_plaatsen']['reservering_td']."' AND verwacht_td <= '".$_SESSION['form_reservering_plaatsen']['verwacht_td']."'";
$sql2 = mysql_query($query2) or die("<p>Fout in query. ".mysql_error()."</p>");
$numrows2 = mysql_num_rows($sql2);
mysqlStop();
if($numrows2 == 1){
echo "<option value=\"$cmdb_id\" disabled=\"disabled\" class=\"disabled\">$weergavenaam</option>\n";
}
else {
echo "<option value=\"$cmdb_id\">$weergavenaam</option>\n";
}
}
}
else {
echo "<p>Er is niets te reserveren, probeer het later nogmaals.</p>";
}
?>
</select>
<p>Kleine beschrijving:</p>
<textarea name="reden" maxlength="200">Bijv.: Tutorgesprek IB5E</textarea>
<br /><br />
<input type="submit" value="Volgende" />
</form>
<div id="reserveren"></div>
</div>
</div>
<?php
echo $footer;
?>
Nu is bijvoorbeeld het CMDB_item met weergavenaam "SMARTBOARD 1" al gereserveerd met deze gegevens:
reserveringen.reservering_td - 23/05/2007 18:11
reserveringen.verwacht_td - 23/05/2007 19:41
Het probleem is nu dat wanneer ik bij STAP 1 deze gegevens invul:
reservering_td - 23/05/2007 - 17:50
verwacht_td - 23/05/2007 - 17:50
Hij goed aangeeft dat SMARTBOARD 1 ligt grijs is en de html code "disabled=disabled"
Wanneer ik echter deze gegevens invul bij STAP 1:
reservering_td - 23/05/2007 - 17:50
verwacht_td - 23/05/2007 - 17:50
Geeft hij fout aan aangezien SMARTBOARD 1 gewoon geselecteerd kan worden en zwart is!
Degene die mij kan helpen ben ik 2000000000x dankbaar. Voor extra informatie ben ik natuurlijk snel paraat!