June
June

Reputation: 85

Unable to disable checkbox

My problem here is that my checkbox will only be disabled when all the checkboxs status is 0. But here, i only want the selected checkbox be disabled, but when the status of checkboxs is not all set to 0, it will not be disabled. Here is my code:

<?php
    $username = $_SESSION['username'];
    $query = "SELECT * FROM box WHERE status = 1";
    $result = @mysqli_query($con, $query);
    $num_rows = @mysqli_num_rows($result);
    $disable = '';
    if (!$num_rows) {
        $disable = 'disabled="disabled"';
    }    
?>

<form method = "post" action = "">    
    <input type='checkbox' name="boxs[]" id="1.1" value ="1.1" <?php echo $disable ?>/>
    <label for="1.1" class="background1"></label> <br/>
    <input type='checkbox' name="boxs[]" id="1.2" value ="1.2"<?php echo $disable ?>/>
    <label for="1.2" class="background2"></label> 
    <br/>
    <input type='checkbox' name="boxs[]" id="1.3" value ="1.3"<?php echo $disable ?>/>
    <label for="1.3" class="background2"></label> 
    <input type="submit" name="Next" id="Next" value="next" />
</form>
<?php    
    if(isset($_POST['Next'])) {   
        foreach($_POST['boxs'] as $f) {
            $sql = "UPDATE box SET status = '0' WHERE boxid = '$f'";
            mysqli_query($con,$sql) or die(mysqli_error($con));

            $result = "INSERT INTO booked(username, boxid) VALUES('$username', '$f')";
            mysqli_query($con,$result) or die(mysqli_error($con));
        }       
    }
?>

So, what is wrong with my code?

Upvotes: 1

Views: 80

Answers (2)

Chintan7027
Chintan7027

Reputation: 7605

I don't know the your exact requirement but; Your solutions may be

<?php $username = $_SESSION['username']; ?>
<form method = "post" action = "">
<?php
$username = $_SESSION['username'];
$query = "SELECT * FROM box";
$result = @mysqli_query($con, $query);
$i=1;
while ($raw = $result->fetch_assoc()) {

    if ($raw['status'] == 1) {
        $disable = 'disabled="disabled"';
    } else {
        $disable = '';
    }
    echo "<input type='checkbox' name='boxs[]' id='" . $raw['boxid'] . "' value ='" . $raw['boxid'] . "' $disable/>";
    echo " <label for='" . $raw['boxid'] . "'  class='background$i'></label> <br/>";
 $i++;
}
?>
</form>

Upvotes: 0

Jees K Denny
Jees K Denny

Reputation: 527

<?php $username = $_SESSION['username'];?>
<form method = "post" action = "">
<?php
  $username = $_SESSION['username'];
  $query = "SELECT * FROM box WHERE boxid=1.1 AND status = 1";
  $result = @mysqli_query($con, $query);
  $num_rows = @mysqli_num_rows($result);
  $disable = '';
  if (!$num_rows){
    $disable = 'disabled="disabled"';
  }
?>

<input type='checkbox' name="boxs[]" id="1.1" value ="1.1" <?php echo $disable ?>/>
<label for="1.1" class="background1"></label> <br/>
<?php
  $query = "SELECT * FROM box WHERE boxid=1.2 AND status = 1";
  $result = @mysqli_query($con, $query);
  $num_rows = @mysqli_num_rows($result);
  $disable = '';
  if (!$num_rows){
   $disable = 'disabled="disabled"';
  }
?>

<input type='checkbox' name="boxs[]" id="1.2" value ="1.2"<?php echo $disable ?>/>
<label for="1.2" class="background2"></label> 
<br/>
<?php
  $query = "SELECT * FROM box WHERE boxid=1.3 AND status = 1";
  $result = @mysqli_query($con, $query);
  $num_rows = @mysqli_num_rows($result);
  $disable = '';
  if (!$num_rows){
    $disable = 'disabled="disabled"';
  }
?>

<input type='checkbox' name="boxs[]" id="1.3" value ="1.3"<?php echo $disable ?>/>
<label for="1.3" class="background2"></label> 
<input type="submit" name="Next" id="Next" value="next" />
</form>
<?php

if(isset($_POST['Next']))
{   
foreach($_POST['boxs'] as $f){
$sql = "UPDATE box SET status = '0' WHERE boxid = '$f'";
mysqli_query($con,$sql) or die(mysqli_error($con));

$result = "INSERT INTO booked(username, boxid) VALUES('$username', '$f')";
mysqli_query($con,$result) or die(mysqli_error($con));
}

}
?>

Upvotes: 1

Related Questions