[英]How to pass database data to view input in 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>
如果只希望一行在模型中使用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以使调用失败。
对于那些情况相同的人,我已经做到了,并且不宜分享:
型号功能:
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>
问题就解决了! 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.