如何传递数据库数据以查看Codeigniter中的输入

时间:2015-01-27 11:46:41

标签: php mysql codeigniter

我试图为带有输入复选框的复选框创建编辑按钮

屏幕截图:http://gyazo.com/381e44b71e7b62d257bff0a0361b5d61

我已经完成了插入功能及其工作。

表中的

我有像

这样的数据库
 id  property_id  property_type_id     alt_txt  
------  -----------  ----------------  ------------
     1            1                 1        25
     2            2                 1        30
     4            7                 1        50
    49            6                 1        60

property_type_id与复选框相关,alt_txt与输入相关

单击编辑时如何将这些数据传递给他们

我尝试制作像

这样的模型功能
function get_by_id($id){
            $this->db->where('id', $id);
            return $this->db->get($this->_table_name);
    }
控制器中的

我称之为

 $this->data['type'] = $this->type_m->get_by_id($id);

并且在var_dump中我重新开始

object(CI_DB_mysql_result)#232 (8) {
  ["conn_id"]=>
  resource(45) of type (mysql link)
  ["result_id"]=>
  resource(87) of type (mysql result)
  ["result_array"]=>
  array(0) {
  }
  ["result_object"]=>
  array(0) {
  }
  ["custom_result_object"]=>
  array(0) {
  }
  ["current_row"]=>
  int(0)
  ["num_rows"]=>
  int(0)
  ["row_data"]=>
  NULL
}

请帮我制作此编辑功能。

修改

以下是我的观看代码的一部分:

    <fieldset>
                    <!--        Form Name -->                
                    <legend>Choose property type</legend>

<!--                 Multiple Checkboxes (inline) -->
                <div class="form-group">
                  <div class="col-md-4">
                    <label class="checkbox-inline" for="checkboxes-0">
                    <?php echo form_checkbox('data[1][property_type_id]', '22', set_value('data[1][property_type_id]', $type->property_type_id), 'id="checkboxes-0"')?>
                      PentHause
                    </label>
                      <br>
<!--                 Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                <?php  echo form_input('data[1][alt_txt]', set_value('data[1][alt_txt]',$type->alt_txt), 'class="form-control" id="cena" placeholder="Enter Price"')?>

                  </div>
                </div>

                    <label class="checkbox-inline" for="checkboxes-1">
                <?php echo form_checkbox('data[2][property_type_id]', '21', set_value('data[2][property_type_id]', $type->property_type_id), 'id="checkboxes-1"')?>
                      Garage
                    </label>
                <br>
<!--                                         Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                <?php echo form_input('data[2][alt_txt]', set_value('data[2][alt_txt]', $type->alt_txt), 'class="form-control" id="cena" placeholder="Enter Price"')?>
                  </div>
                </div>

2 个答案:

答案 0 :(得分:0)

如果您只想在模型中使用一行get_where()方法,可能会更容易:

$item = $this->db->get_where($this->_table_name,array("id"=>$id),1,0);

return ($item->num_rows() == 1) ? $item->row() : false;

这样你就可以使用get_where()的limit和offset参数选择1行,检查结果是否有一行并返回该行对象,否则返回false以使调用失败。

答案 1 :(得分:0)

对于那些有相同情况的人,我已经成功并且分享了不适:

模型功能:

    public function get_by_id($id){
        $item = $this->db->get_where($this->_table_name,array("property_id"=>$id));
        return $item->result_array();
}

在控制器中,我打电话给

            $type_array = $this->type_m->get_by_id($id);

  foreach($type_array as $estate_obj){
        $type = array();
        $type['id'] = $estate_obj['id'];
        $type['property_id'] = $estate_obj['property_id'];
        $type['property_type_id'] = $estate_obj['property_type_id'];
        $type['alt_txt'] = $estate_obj['alt_txt']; 
        //var_dump($type);
        $this->data['type'][$type['property_type_id']] = $type;
  }

这就是我的观点:

       <fieldset>
                    <!--        Form Name -->                
                    <legend>Изберете типове за имота</legend>

<!--                 Multiple Checkboxes (inline) -->
                <div class="form-group">
                  <div class="col-md-4">
                    <label class="checkbox-inline" for="checkboxes-0">
                    <?php echo form_checkbox('data[1][property_type_id]', '22', set_value('data[1][property_type_id]',$type[22]['property_type_id']), 'id="checkboxes-0"')?>
                      Пентхаус
                    </label>
                      <br>
            <!--    Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[1][alt_txt]', set_value('data[1][alt_txt]', isset($type[22]['alt_txt'])?$type[22]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>
                  </div>
                </div>

                    <label class="checkbox-inline" for="checkboxes-1">
                <?php echo form_checkbox('data[2][property_type_id]', '21', set_value('data[2][property_type_id]', $type[21]['property_type_id']), 'id="checkboxes-1"')?>
                      Гараж/Паркомясто
                    </label>
                <br>
            <!-- Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[2][alt_txt]', set_value('data[1][alt_txt]', isset($type[21]['alt_txt'])?$type[21]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>
                  </div>
                </div>
                    <label class="checkbox-inline" for="checkboxes-2">
                    <?php echo form_checkbox('data[3][property_type_id]', '20', set_value('data[3][property_type_id]',$type[20]['property_type_id']), 'id="checkboxes-2"')?>
                     Бизнес
                    </label>
                    <br>
                         <!--Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[3][alt_txt]', set_value('data[3][alt_txt]', isset($type[20]['alt_txt'])?$type[20]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>

                 </div>
                </div>

问题解决了!谢谢