so I have a dynamically generated table
<tr>
<td><?php echo $row['RequestID']?></td>
<td><?php echo $row['FirstName'] . " " . $row['LastName']?></td>
<td><?php echo $row['DateRequested']?></td>
<td><?php echo $row['DateNeeded']?></td>
<td><?php echo $row['TotalPrice']?></td>
<td><?php echo $row['Company']?></td>
<td><?php echo $row['Account']?></td>
<td><?php echo $row['Brand']?></td>
<td><?php echo $quantity?></td>
<td><input type="checkbox" name="bill[]" value=<?php echo '"' . $row['RequestID'] . '"'; if($row['BillBack'] == "1") {echo "checked='checked'"; } ?></td>
</tr>
and I want to update the database when a row is checked or unchecked.
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['bill'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['bill'] as $selected){
echo "hello";
$sql2 = "UPDATE Requests SET BillBack = '1' WHERE RequestID = '$selected'";
$result2 = $conn->query($sql2);
}} elseif(empty($_POST['bill'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['bill'] as $selected){
echo "hello";
$sql2 = "UPDATE Requests SET BillBack = '0' WHERE RequestID = '$selected'";
$result2 = $conn->query($sql2);
}}
}
Now. The if statement works like a charm. For every checked checkbox on a submit, that record gets updated. The issue comes with unchecking the checkboxes. As you can see, checked boxes are found by finding what is not empty. But, when I delete that exclamation point, it does not effectively do the opposite. It also doesn't work as it's own if statement, as a straight else statement, and checking for !isset. Is this because of how the inputs are deemed checked? is there a syntax error? I've done about 5 hours of error checking, googling, and the like... and I can't find shit. Thanks guys
Aucun commentaire:
Enregistrer un commentaire