我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品。
以下是我认为的形式部分:
<?php $attributes = array('method'=>"POST", "class" => "myc", "id" => "myc", "name" => "dropdwn");
echo form_open_multipart('frontend/home/display', $attributes); ?>
<div class="form-group">
<div class="col-sm-9">
<select class="form-control" name="category" onchange="this.form.submit();" />
<option value="" <?php echo set_select('category', 'zero', TRUE); ?>>Categories...</option>
<option value="phone" >Phones</option>
<option value="laptops">Laptops</option>
<option value="accessories" >Accessories</option>
</select>
</div>
</div>
<?php echo form_close(); ?>
正如您所看到的,我通过onchange=“this.form.submit();(如果这不是一个好主意,请建议其他方法,我只是不想使用ajax,因为我还不太擅长它,不管怎样,建议更好的方法)。
然后在我的控制器中,我得到这个选项,并将其转换为数组,在我的模型中使用它。
控制器部分:
public function display($sort_by='product_id', $sort_order='asc', $offset = 0)
{
$this->load->model('model_product');
$selected = implode(" ", $this->input->post());
//var_dump($selected);
$results = $this->model_product->fetch($selected, $limit, $offset, $sort_by, $sort_order);
$data['products'] = $results['rows'];
$data['num_results'] = $results['num_rows'];
//and then goes pagination part, I guess no meaning posting it, as it works fine.
}
我的模型:
function fetch($selected, $limit, $offset, $sort_by, $sort_order)
{
$sort_order = ($sort_order == 'desc') ? 'desc' : 'asc';
$sort_columns = array('product_id', 'name', 'description', 'category', 'country', 'price');
$sort_by = (in_array($sort_by, $sort_columns)) ? $sort_by : 'product_id';
//actual results query
$q = $this->db->select('product_id, name, description, category, country, price, img_name, thumb_name')
->from('products')
->where('category', $selected)
->limit($limit, $offset)
->order_by($sort_by, $sort_order);
$ret['rows'] = $q->get()->result();
var_dump($ret['rows']);
die;
//count query
$q = $this->db->select('COUNT(*) as count', FALSE)
->from('products');
$tmp = $q->get()->result();
$ret['num_rows'] = $tmp[0]->count;
return $ret;
}
在这里我没有得到任何结果,可能是因为where子句没有返回任何结果。然而,如果我改变其中的条款,例如-
从…起
$selected = implode(" ", $this->input->post());
到
$selected = $this->input->post('category');
顺便说一下,echo
我会帮你的。查看文件
<div class="box-header">
<h3 class="box-title">Enter Category Details</h3>
</div>
<?php
echo validation_errors(); $attributes = array('id' => 'formCategory','name'=>'formCategory');
?>
<?php echo form_open_multipart(base_url().'moderator/B2BCategory/addcategory'); ?>
<div class="box-body">
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label for="txtcatname">Title of Category :</label>
<input type="text" name="txtcatname" class="form-control" id="txtcatname" placeholder="Category Name " required="required">
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label for="categorysection">Section of the Category :</label>
<select class="form-control" name="categorysection" required>
<option value="" >----Select------</option>
<option value="1">Laptop</option>
<option value="2">Phone</option>
<option value="3">Accessories</option>
</select>
<input type="submit" name="selsub" class="btn btn-primary">
</div>
</div>
</div>
控制器
public function addcategory() {
$this->load->helper(array('form', 'url'));
$this->load->view('moderator/templates/header');
$this->load->view('moderator/templates/sidebar');
if ($this->input->post('selsub')) {
$data = array('ctg_name' => $this->input->post('categorysection'));
$this->b2bcategory_model->form_insert($data);
}
在模型
public function form_insert($data){
$this->db->insert('jil_category', $data);
}
要显示表的输出,只需使用
public function viewall()
{
$this->db -> select('*');
$this -> db -> from('jil_category');
$query = $this -> db -> get();
return $query->result();
}
我试图将数据传递给controller进行进一步处理,但在controller中得到null,然而js(ajax)的debug无论如何都会显示这个数字。可能是什么问题? Ajax: 控制器:
我对Codeigniter有意见。我试图将值从视图传递给控制器,它起作用了。但是当它从控制器传递到模型时有一个问题。它没有将任何值返回到视图中。 这是我的控制器: 这是模型 这就是我的观点 这是存储过程的结果 这是我得到的错误 遇到PHP错误严重性:警告 消息:非法字符串偏移量“id” 文件名:pages/Update2G。php 行号:3 回溯: 文件:C:\xampp\htdocs\Dapot
//控制器 函数搜索($search=0){ } //模型函数search_employee($search ch雇员){$sql="选择清空代码,名称来自spmm_employee_info其中名称 '%" . $search ch雇员 . "%'"; $查询=$this- 当我尝试搜索并单击另一个页面时,它会显示表spmm_employee_info上的所有数据。所有我想要的是显示所有与搜索相
我正在尝试在我的网站上进行模块化评论,因此我尝试使用
问题内容: 我的图像是我试图将数据(变量)从一个阶段传递到另一阶段,但是当我尝试在第二阶段访问它们时,它们为空。mainWindow的代码。前往window1 // window1类: 如果我想访问以前收到的标题,则为null 初始化显示应该为“ Window1”时显示为null} 问题答案: 在加载FXML文件的过程中,将调用该方法-换句话说,在调用时将调用该方法。 显然,这是 在 调用 之前
问题内容: 我正在尝试使用AJAX将javascript对象(键值对)传递给MVC Controller操作。 控制器操作具有接收对象的Dictionary参数。 当有问题的对象为 空时 (意味着它在javascript中的值为{}),我在调试器中看到以下内容。 为什么控制器和动作名称会自动添加到Dictionary参数中? 使用提琴手,我能够看到正在传递到我的控制器,并且看不到这两个值正在传递.