I have array of HTML data
<tr><input type="checkbox" name="checkbox[]" value="0"> <input type="text" name="char[]" value="A"></tr> <tr><input type="checkbox" name="checkbox[]" value="1"> <input type="text" name="char[]" value="B"></tr> <tr><input type="checkbox" name="checkbox[]" value="2"> <input type="text" name="char[]" value="C"></tr>
How can I get all of of item in PHP Post? I need to get all data and check if the checkbox were check or not. Like so:
<?php
   foreach($_POST["char"] as $data) {
      //If Checkboxes Checked:
      // DO INSERT CHECKED ROW
      //Else If Not Checked:
      // ECHO VALUE NOT CHECKED ROW
   }
?>
If I’m trying, the data were different from what I has check or only the checked value that sent.
Thank you.
Advertisement
Answer
Use indexes in your field names:
<form method="POST">
    <table>
    <tr>
        <td><input type="checkbox" name="checkbox[0]" value="0"></td>
        <td><input type="text" name="char[0]" value="A"></td> 
    </tr>
    <tr>
        <td><input type="checkbox" name="checkbox[1]" value="0"></td>
        <td><input type="text" name="char[1]" value="B"></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkbox[2]" value="0"></td>
        <td><input type="text" name="char[2]" value="C"></td>
    </tr>
    </table>
    <input type="submit" name="submit">
</form>
Then you can use a loop counter:
for ($i = 0; $i<count($_POST['char'];$i++) {
    if (isset($_POST['checkbox'][$i]) {
         // Do something if checkbox is set using $_POST['char'][$i]
    } else {
        // Do something if checkbox is not set
    }
}