如何传递数据库数据以在 Codeigniter 中查看输入
How to pass database data to view input in Codeigniter
我正在尝试为带有输入复选框的复选框制作编辑按钮
截图:http://gyazo.com/381e44b71e7b62d257bff0a0361b5d61
我已经完成了插入函数及其工作。
在table我有像
这样的数据库
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>
如果您只想让 1 行在模型中使用 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() 的限制和偏移参数选择 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>
问题解决了!谢谢
我正在尝试为带有输入复选框的复选框制作编辑按钮
截图:http://gyazo.com/381e44b71e7b62d257bff0a0361b5d61
我已经完成了插入函数及其工作。
在table我有像
这样的数据库 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>
如果您只想让 1 行在模型中使用 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() 的限制和偏移参数选择 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>
问题解决了!谢谢