如何使用Codeigniter将多个复选框数据插入数据库

时间:2017-04-23 07:44:10

标签: codeigniter

有人能帮助我吗?我有问题。我有看法,名字是 pascasarjana.php

<div class="form-group">
        <label>Program studi dan konsentrasi yang diminati</label><br/>
      <input name="prodis" type="checkbox" value="p1">Program Studi Magister Manajemen<br/>
      </div>

      <div class="form-group">
      <input name="prodis" type="checkbox" value="p2">Program Studi Magister Teknik Sipil
      <select name="konsentrasi" class="form-control" id="konsentrasi1">
        <option value="">Pilih Konsentrasi</option>
        <option value="k1">Manajemen Konstruksi</option>
        <option value="k2">Transportasi</option>
        <option value="k3">Struktur</option>
      </select>
      </div>

      <div class="form-group">
      <input name="prodis" type="checkbox" value="p3">Program Studi Magister Ilmu Hukum
      <select name="konsentrasi" class="form-control" id="konsentrasi2">
        <option value="">Pilih Konsentrasi</option>
        <option value="k4">Hukum Bisnis</option>
        <option value="k5">Hukum Ketatanegaraan</option>
        <option value="k6">Hukum Agraria</option>
        <option value="k7">Litigasi</option>
      </select>
      </div>

  <div class="form-group">
  <input name="prodis" type="checkbox" value="p4">Program Studi Magister Teknik Informatika
  <select name="konsentrasi" class="form-control" id="konsentrasi3">
    <option value="">Pilih Konsentrasi</option>
    <option value="k8">Soft Computing</option>
    <option value="k9">Enterprise Information System</option>
    <option value="k10">Mobile Computing</option>
  </select>
  </div>

  <div class="form-group">
  <input name="prodis" type="checkbox" value="p5">Program Studi Magister Teknik Arsitektur
  <select name="konsentrasi" class="form-control" id="konsentrasi4">
    <option value="">Pilih Konsentrasi</option>
    <option value="k11">Arsitektur Digital</option>
  </select>
  </div>

我很困惑,如何在我的控制器和模型中插入多个复选框并选择选项数据到数据库。

4 个答案:

答案 0 :(得分:0)

尝试将HTML实体重命名为数组

EG。

  • input name="prodis"input name="prodis[]"
  • select name="konsentrasi"select name="konsentrasi[]"

然后在控制器中打印$ _POST。

答案 1 :(得分:0)

我猜您需要根据勾选的复选框从选择框中获取数据。

要从复选框中获取值,您需要将复选框名称定义为数组。在我的代码中,我使用的是精确索引,因此我们可以相应地获取选择框值。

我想在第一个复选框下面应该有另一个选择框。忽略这个选择框(实际上不在这里),我在这里给出自定义索引。相反,我们也可以使用 profis [] ,它实际上通过在HTML中每次出现一次增加索引来自动生成索引

您也可以实施验证。以下是修改后的代码:

<div class="form-group">
<label>Program studi dan konsentrasi yang diminati</label><br/>
<input name="prodis[1]" type="checkbox" value="p1">Program Studi Magister Manajemen<br/>
</div>
<div class="form-group">
<input name="prodis[2]" type="checkbox" value="p2">Program Studi Magister Teknik Sipil
<select name="konsentrasi[2]" class="form-control" id="konsentrasi1">
    <option value="">Pilih Konsentrasi</option>
    <option value="k1">Manajemen Konstruksi</option>
    <option value="k2">Transportasi</option>
    <option value="k3">Struktur</option>
</select>
</div>
<div class="form-group">
<input name="prodis[3]" type="checkbox" value="p3">Program Studi Magister Ilmu Hukum
<select name="konsentrasi[3]" class="form-control" id="konsentrasi2">
    <option value="">Pilih Konsentrasi</option>
    <option value="k4">Hukum Bisnis</option>
    <option value="k5">Hukum Ketatanegaraan</option>
    <option value="k6">Hukum Agraria</option>
    <option value="k7">Litigasi</option>
</select>
</div>
<div class="form-group">
<input name="prodis[4]" type="checkbox" value="p4">Program Studi Magister Teknik Informatika
<select name="konsentrasi[4]" class="form-control" id="konsentrasi3">
    <option value="">Pilih Konsentrasi</option>
    <option value="k8">Soft Computing</option>
    <option value="k9">Enterprise Information System</option>
    <option value="k10">Mobile Computing</option>
</select>
</div>
<div class="form-group">
<input name="prodis[5]" type="checkbox" value="p5">Program Studi Magister Teknik Arsitektur
<select name="konsentrasi[5]" class="form-control" id="konsentrasi4">
    <option value="">Pilih Konsentrasi</option>
    <option value="k11">Arsitektur Digital</option>
</select>

在控制器端,您只需检查索引2 $ this-&gt; input-&gt; post(&#39; prodis [2]&#39;)然后获取select的值索引为2的框 $ this-&gt; input-&gt; post(&#39; konsentrasi [2]&#39;

您可以通过记住代码冗余来动态检查它。如果您遇到任何问题,请告诉我。

答案 2 :(得分:0)

使用复选框或HTML上的任何内容插入多个数据。只需使用数组“[]”。

<input name="checkbox[]" type="checkbox" value="checkbox">
<select name="select[]"></select>

也可以像[2],[4],[5]任何事情那样的数组值

谢谢

答案 3 :(得分:0)

  public function insert()
  {
   //Insert second stage details for employer into database.
   $Specilized_category = $this->input->post('spec_cat');
   $data=array(
     'Specilized_category'=>json_encode(implode(",", $Specilized_category)),
   );
  $this->db->insert('tbl_employer', $data);