2016-08-03 15 views
1

Mein Problem hier ist, dass meine Checkbox nur deaktiviert wird, wenn alle Kontrollkästchen Status 0 ist. Aber hier möchte ich nur die ausgewählte Checkbox deaktiviert sein, aber wenn der Status der Checkboxen nicht alle auf 0 gesetzt ist Es wird nicht deaktiviert. ist hier mein Code:Kontrollkästchen kann nicht deaktiviert werden

<?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)); 
     }  
    } 
?> 

Also, was mit meinem Code falsch ist?

+0

Ich habe Ihren Code überprüft. kann aber kein Problem finden. –

+0

dann, haben Sie eine Idee, das Kontrollkästchen zu deaktivieren? – June

+0

Ich habe mit Ihrem Code überprüft. Bei Null-Schritten werden alle Kontrollkästchen deaktiviert. Wenn andere Zahlen nicht übereinstimmen, wird das Kontrollkästchen aktiviert. Ich finde keinen Fehler. –

Antwort

1
<?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)); 
} 

} 
?> 
0

Ich weiß nicht die Ihre genaue Anforderung aber; Ihre Lösungen sind möglicherweise

<?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> 
+0

meine Checkbox hat Label, so hat jeder unterschiedliche Klasse – June

+0

Siehe die überarbeitete Antwort. – Chintan7027

+0

Ich möchte meine Checkbox in 3 Spalte anordnen. Wie soll ich es tun? die Spalte muss wie folgt aussehen: 1.1 2.1 3.1 – June

Verwandte Themen