Как мне получить значение элемента ввода HTML-флажка?

#php

#php

Вопрос:

     <?php

    include ("database.php");               
    $qry = "Select * from tbnam where $option like '%$content%'";
    $result=mysql_query($qry);        
    while ($row =mysql_fetch_array($result))
    {
    $id=$row['id'];
    ?>
//creating table
    <tr><?echo "<td><input type="checkbox" name="checkbox[]" id="checkbox[]"  value="".$row['id']."" /></td>";?>
    <td><? echo $row['name'];?></td>
    <td><? echo $row['address'];?></td>
    <td><? echo $row['email'];?></td>
    <td><? echo $row['telephone'];?></td>
    <td><? echo $row['problem'];?></td>
    <td><? echo $row['reply_query'];?></td>
    <td><? echo $row['type'];?></td>
    <td><? echo $row['other'];?></td></tr>
    <?php
    }
    ?>
    <input type="submit" name="search" value="Print" size="10"/>
    </form>
    </table>
 

как я получил значения флажков? есть ли необходимость передавать $id в массив checkbox[] ? если да, то как это возможно? справка me…name =»флажок[«».$id»»]»

Комментарии:

1. Добро пожаловать в Stack Overflow! Попробуйте var_dump($_POST['checkbox']); .

2. Первая строка: include не требуется () .

Ответ №1:

Написав

 <tr><?echo "<td><input type="checkbox" name="checkbox[]" id="checkbox[]"  value="".$row['id']."" /></td>";?>
 

вы разработали форму, которая возвращает массив значений, каждое значение которого соответствует флажку, который был «отмечен».

В этом примере переменной POST, которая указывает на этот массив, будет $_POST[‘checkbox’] . Поскольку вы установили значение каждого флажка как $row[‘id’] , каждый элемент в массиве флажков будет иметь значение ‘id’, соответствующее каждому установленному вами флажку.

Вы можете проверить эти значения следующим образом:

 foreach($_POST['checkbox'] as $value)
{ 
  echo $value;
}
 

или просто сказав:

 echo var_dump($_POST['checkbox']);
 

Надеюсь, это прояснит. 🙂

Ответ №2:

$_POST['checkbox'] выдаст вам массив значений, которые вы проверили.

Ответ №3:

Зачем здесь нужен массив (checkbox[] ), когда вы показываете здесь один элемент checkbox. Также для идентификаторов нам не нужно упоминать как массивы.

Вы просто используете, как показано ниже

 <tr><?echo "<td><input type="checkbox" name="checkbox" id="checkbox"  value="".$row['id']."" /></td>";?>
 

И во время чтения,

 if (isset($_POST["checkbox"])) // Returns true if checked
{

}
 

Надеюсь, это поможет.