Php CodeIgniter是否从选择框中的数据库获取值?
我是CodeIgniter的新手,所以我不知道怎么做。我想在选择框中动态显示值,选择值后,它会显示一个文本框,然后将文本框值和选项(下拉列表中显示的名称)id传递给控制器,因此简单介绍一下我想做的事情:Php CodeIgniter是否从选择框中的数据库获取值?,php,jquery,ajax,codeigniter,drop-down-menu,Php,Jquery,Ajax,Codeigniter,Drop Down Menu,我是CodeIgniter的新手,所以我不知道怎么做。我想在选择框中动态显示值,选择值后,它会显示一个文本框,然后将文本框值和选项(下拉列表中显示的名称)id传递给控制器,因此简单介绍一下我想做的事情: 在选择框中动态显示值 选择值后,动态创建文本框 传递所选或跟踪下拉列表和文本框的“id” 控制器的值 这是我的型号 function getAllCategories(){ $this->db->select('cat_name'); $q = $this->
- 在选择框中动态显示值
- 选择值后,动态创建文本框
- 传递所选或跟踪下拉列表和文本框的“id” 控制器的值
function getAllCategories(){
$this->db->select('cat_name');
$q = $this->db->get('category');
if ($q->num_rows() > 0){
foreach($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
我的控制器
function showCategoryNames(){
$data = array();
$this->load->model('categoryModel');
$query = $this->categoryModel->getAllCategories();
if ($query){
$data['records'] = $query;
}
$this->load->view('itemsView',$data);
}
视图:显示简单列表
<?php if(isset($records)) : foreach($records as $row) :?>
<h2><?php echo $row->cat_name; ?></h2>
<?php endforeach;?>
<?php else :
endif;?>
怎么样
<select name="mySelect">
<?php foreach($records as $row) { ?>
<option value="<?=$row->id?>"><?=$row->cat_name?></option>
<?php } ?>
</select>
加载form helper类后,您的视图应该是用于创建下拉列表的
form_dropdown('size', $data_array, 'large');
是的,谢谢,它很管用。。现在我想实现onchange函数,在不刷新它的情况下,通过使用ajax或jQuery创建一个文本框。如果要构建一个返回所需数据的控制器函数,可以使用jQuery.Post()执行请求并动态构建文本框。我已经添加了一个关于我的答案的教程。但是我认为你应该使用一个视图,而不是像教程中那样内联HTML。谢谢,我会像在其他地方一样研究它,在那里你没有解释就发布了这样的代码:这如何解决最初的问题?它如何填充选定字段的数据?为什么您需要一个delete\u by\u id
方法来执行此操作?
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Trip_model extends CI_Model{
var $table = 'tbl_trip';
public function __construct(){
parent::__construct();
$this->load->database();
}
public function get_all_trips(){
$this->db->from('tbl_trip');
$query=$this->db->get();
return $query->result();
}
public function get_by_id($id){
$this->db->from($this->table);
$this->db->where('trip_id',$id);
$query = $this->db->get();
return $query->row();
}
public function trip_add($data){
$this->db->insert($this->table, $data);
return $this->db->insert_id();
}
public function trip_update($where, $data){
$this->db->update($this->table, $data, $where);
return $this->db->affected_rows();
}
public function delete_by_id($id){
$this->db->where('trip_id', $id);
$this->db->delete($this->table);
}
}