So I have these code below. The first one is a loop which echos all the requirements came from the database and write it in a checkbox form. So what I did is named it in an array form which is requirementItems[].
The next code is all about checking and inserting. If the checkbox is checked, the $state variable will have the value of 1 else, 0.
My problem is that, when I tried to leave a checkbox unchecked, it doesn't record into the database. But if it is checked, it successfully insert the data.
FIRST
<?php
$query = $db->prepare("SELECT * FROM tbl_requirements WHERE reqStatus = 1");
$query->execute();
while($result = $query->fetch(PDO::FETCH_ASSOC)){
$requirementID = $result['reqID'];
$requirementName = $result['reqName'];
echo "
<div class='row'>
<div class='col-md-5'>
<div class='checkbox'>
<label>
<input type='checkbox'value='$requirementID' title='$requirementID' name='requirementItems[]'>
$requirementName
</label>
</div>
</div>
</div>
";
}
?>
SECOND
<?php
if(isset($_POST['passSubmit'])){
$rsrvReqID = trim($_POST['reqID']);
$customerID = $_GET['cusID'];
$reservedProperty = $_GET['propertyID'];
$paymentID = $_GET['paymentID'];
$requirementItems = $_POST['requirementItems'];
foreach($requirementItems as $reqItem) {
$state = (isset($reqItem)) ? 1 : 0;
$query = $db->prepare("INSERT INTO tbl_rsrvrequirements (rsrvReqID, customerID, propertyID, paymentID, reqID, rsrvReqState)
VALUES (:rsrvReqID, :customerID, :reservedProperty, :paymentID, :reqID, :state)");
$query->execute(array(
":rsrvReqID" => $rsrvReqID,
":customerID" => $customerID,
":reservedProperty" => $reservedProperty,
":paymentID" => $paymentID,
":reqID" => $reqItem,
":state" => $state
));
$reqNEW = str_replace('REQ','',$rsrvReqID);
$requireID = str_pad(trim($reqNEW) +2,7,0,STR_PAD_LEFT);
$rsrvReqID = 'REQ'.$requireID;
}//foreach()
echo"<meta http-equiv='refresh' content='0; url=summary.php?reqID=$rsrvReqID' >";
}//if(isset())
?>
Aucun commentaire:
Enregistrer un commentaire