Обновить флажок Codeigniter - PullRequest
0 голосов
/ 10 февраля 2019

Мой контроллер:

public function update($id)
{
    $data['tag'] = $this->Tag_model->get_all();
    $data['gambar'] = $this->Gambar_model->get_by_id($id);
    $this->load->view('gambar/gambar_edit', $data);
}

public function update_action()
{
    $this->_rules();

    if ($this->form_validation->run() == FALSE) {
        $this->update($this->input->post('id_gambar'));
    } else {
        $data = array(
            'judul_gambar' => $this->input->post('judul_gambar', TRUE),
            'judul_tag' => implode(', ', $this->input->post('judul_tag', TRUE)),
            'img_gambar' => $this->input->post('img_gambar', TRUE)
         );

         $this->Gambar_model->update($this->input->post('id_gambar'), $data);
         $this->session->set_flashdata('flash', 'diubah');
         redirect('gambar');
    }
}

Мой вид:

<?= form_open('gambar/update_action') ?>
  <div class="form-group col-lg-8">
    <input type="hidden" class="form-control" id="idgambar" name="id_gambar" value="<?= $gambar['id_gambar'] ?>">
    <label for="judulgambar">Nama</label>
    <input type="text" class="form-control" id="judulgambar" name="judul_gambar" value="<?= $gambar['judul_gambar'] ?>">
    <small class="form-text text-danger font-italic"><?= form_error('judul_gambar') ?></small>
  </div>
  <div class="form-group col-lg-8">
    <label for="imggambar">Gambar</label>
    <input type="text" class="form-control" id="imggambar" name="img_gambar" value="<?= $gambar['img_gambar'] ?>">
    <small class="form-text text-danger font-italic"><?= form_error('img_gambar') ?></small>
  </div>
  <div class="form-group pl-3">
    <?php foreach ($tag as $row): ?>
      <div class="form-check-inline">
          <input class="form-check-input" type="checkbox" name="judul_tag[]" value="<?= $row['judul_tag'] ?>">
          <label class="form-check-label" for="gridCheck">
            <?= $row['judul_tag'] ?>
          </label>
      </div>
    <?php endforeach; ?>
    <small class="form-text text-danger font-italic"><?= form_error('judul_tag[]') ?></small>
  </div>
  <button type="submit" class="btn btn-success ml-3" name="submit">Ubah</button>
<?= form_close() ?>

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

1 Ответ

0 голосов
/ 10 февраля 2019

Сначала вы должны использовать explode(), так как implode() при обновлении строк.После этого используйте in_array(), чтобы найти строку

. Для более подробной информации.

in_array () explode ()

<?= form_open('gambar/update_action') ?>
  <div class="form-group col-lg-8">
    <input type="hidden" class="form-control" id="idgambar" name="id_gambar" value="<?= $gambar['id_gambar'] ?>">
    <label for="judulgambar">Nama</label>
    <input type="text" class="form-control" id="judulgambar" name="judul_gambar" value="<?= $gambar['judul_gambar'] ?>">
    <small class="form-text text-danger font-italic"><?= form_error('judul_gambar') ?></small>
  </div>
  <div class="form-group col-lg-8">
    <label for="imggambar">Gambar</label>
    <input type="text" class="form-control" id="imggambar" name="img_gambar" value="<?= $gambar['img_gambar'] ?>">
    <small class="form-text text-danger font-italic"><?= form_error('img_gambar') ?></small>
  </div>
  <div class="form-group pl-3">
    <?php 
    foreach ($tag as $row): 
      $explodeRow = explode(',',$row['judul_tag']);
    ?>
      <div class="form-check-inline">
          <input class="form-check-input" type="checkbox" name="judul_tag[]" <?php if(in_array($row['judul_tag'],$explodeRow)) echo 'checked'; ?> value="<?= $row['judul_tag'] ?>">
          <label class="form-check-label" for="gridCheck">
            <?= $row['judul_tag'] ?>
          </label>
      </div>
    <?php endforeach; ?>
    <small class="form-text text-danger font-italic"><?= form_error('judul_tag[]') ?></small>
  </div>
  <button type="submit" class="btn btn-success ml-3" name="submit">Ubah</button>
<?= form_close() ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...