2016-05-22 22 views
0

Ich bin neu in PHP.(PHP) Wie setze ich den Standardwert auf das Kontrollkästchen deaktiviert

Jetzt habe ich dieses Problem über die Checkbox Wert. Ich suche die Antwort von diesen Seiten, die ihre Lösungen nicht zu meinem Fall bearbeiten.

Trying to set default checkbox value if not checked

Post the checkboxes that are unchecked (ich weiß nicht, wo mit der JS setzen)

how do I get all checkbox variables even if not checked from HTML to PHP?

sind meine Codes sind so weit ...

<form method="POST" action="testinsertskill.php"> 

<br><br>Required Skills : 

**//skip the sql parts because there is no problem from calling the data from database** 

<?php 
while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { 

?> 
<input type="hidden" id="hidden_skills" name="skills[]" value="0" /> 
<br /><input type="checkbox" id="skills" name="skills[]" value="1" /><?php echo $row2['Skill_Name']; ?><br /> 

<?php 
$count++; 
} 
?> 
<input type="hidden" name="counter" value="<?=$count?>" /> 

<input type="submit" name="submit" value="Confirm"> 

</form> 

Und das ist testinsertskill.php Seite

<?php session_start(); 

     $servername = "localhost"; 
     $username = "root"; 
     $password = "rootroot"; 
     $dbname = "onlinerecruitment"; 

     // Create connection 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     // Check connection 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 


$skill = $_POST['skills']; 
$count = $_POST['counter']; 


for($i = 0; $i < $count; $i++){ 

    $sql = "INSERT INTO applicant_skill VALUES('".$skill[$i]."')"; 

     $resultt = ""; 

     if ($conn->query($sql) == TRUE) { 
      $resultt = "FINISH"; 
     } else { 
      $resultt = "ERROR"; 
     } 

} 

$conn->close(); 

?> 

Angenommen, es gibt 5 Fähigkeiten auszuwählen und ich wähle 2. und 4..

Erwartete Ergebnis sollte (0,1,0,1,0) in der Datenbank sein, aber es stellt sich heraus (0,0,1,0,0) wegen der versteckten Eingabe. Jetzt weiß ich nicht, was ich tun soll, weil diese Links, die ich erwähnt habe, mein Problem nicht lösen können oder ich weiß nicht, wo ich es hinstellen muss. Bitte helfen Sie.

Antwort

1

Ich nehme an, Sie haben auch einige skill_id dann Code wie dieser

aussehen könnte
<form method="POST" action="testinsertskill.php"> 

<br><br>Required Skills : 

**//skip the sql parts because there is no problem from calling the data from database** 

<?php 
while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { 

?> 
<input type="hidden" name="skills[<?= $row2['Skill_Id'] ?>]" value="0" /> 
<br /><input type="checkbox" name="skills[<?= $row2['Skill_Id'] ?>]" value="1" /><?= $row2['Skill_Name'] ?><br /> 

<?php 
} 
?> 

<input type="submit" name="submit" value="Confirm"> 

</form> 

Und dann Code einfügen:

//.... 
foreach($_POST['skills'] as $skillId => $skill){ 

    $sql = "INSERT INTO applicant_skill VALUES('".$skill."')"; 

     $resultt = ""; 

     if ($conn->query($sql) == TRUE) { 
      $resultt = "FINISH"; 
     } else { 
      $resultt = "ERROR"; 
     } 

} 
+0

i Frage weiterhin haben. Was, wenn ich auch den Wert von Skill_ID einfügen möchte? – gznero

Verwandte Themen