Переключатель для каждой строки, извлекающей данные из базы данных

#php #html

#php #HTML

Вопрос:

 <tbody>
    <?php
    $query = "SELECT sm01.SM01_01, sm01.SM01_03, sm13.SM13_02 = sm13.SM13_03 FROM "
    . "sm13 INNER JOIN sm01 on sm01.SM01_01 = sm13.SM13_03 WHERE sm13.SM13_02 = $id";
    $sql_run = mysqli_query($link, $query);
    $j = 0;
    $count = mysqli_num_rows($sql_run);
    if (mysqli_num_rows($sql_run) > 0) {
        while ($row = mysqli_fetch_array($sql_run)) {
    ?>
      <tr>
        <th scope="row"><?php echo $j = $j   1; ?></th>
        <td class="text-left"><input type="hidden" class="form-control-plaintext" name="id_ahli[]" value="<?php echo $row['SM01_01']; ?>">
          <?php echo $row['SM01_03']; ?></td>
        <td><div class="form-check-inline">
            <input type="radio" checked="" name="status"id="radio1<?php echo $row['SM01_03']; ?>" class="form-check-input">
            <label class="form-check-label" for="radio1<?php echo $row['SM01_03']; ?>">Tidak</label>
          </div>
          <div class="form-check-inline">
            <input type="radio" name="status" id="radio2<?php echo $row['SM01_03']; ?>" class="form-check-input">
            <label class="form-check-label" for="radio2<?php echo $row['SM01_03']; ?>">Hadir</label>
          </div></td>
      </tr>
    <?php
        }
    }
    ?>
</tbody>
 

Я успешно извлек данные, но у меня возникла проблема с переключателем, где я хочу, чтобы в каждой строке переключатель проверялся на наличие метки Tidak

Изображение проблемы здесь

Ответ №1:

В вашем текущем коде name атрибут радиокнопки такой же, поэтому только один радиоприемник будет установлен как выбранный.Вместо этого измените свой код, как показано ниже :

 <tr>
    //other html code  //added here name_rowno 
     <td><div class="form-check-inline">
            <input type="radio" checked="" name="status_<?php echo $row['SM01_03']; ?>"id="radio1<?php echo $row['SM01_03']; ?>" class="form-check-input">
            <label class="form-check-label" for="radio1<?php echo $row['SM01_03']; ?>">Tidak</label>
          </div>
          <div class="form-check-inline">
            <input type="radio" name="status_<?php echo $row['SM01_03']; ?>" id="radio2<?php echo $row['SM01_03']; ?>" class="form-check-input">
            <label class="form-check-label" for="radio2<?php echo $row['SM01_03']; ?>">Hadir</label>
          </div></td>
  </tr>
 

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

1. Я уже сделал это, и это работает, и теперь у меня проблема с передачей значения, поскольку эта форма используется для обновления базы данных. Я не знаю, как передать имя, поскольку каждая строка будет иметь другое имя.

2. Как ваши данные будут отправлены с использованием одной формы? Также, когда вы передаете hidden ввод, т.е.: <?php echo $row['SM01_03']; ?> вы можете просто name__ объединить (yourrowsmo33), чтобы получить требуемые значения переключателя.