Php 通过codeigniter中的控制器传递到模型?
我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品 以下是我的观点中的表单部分:Php 通过codeigniter中的控制器传递到模型?,php,mysql,forms,codeigniter,select,Php,Mysql,Forms,Codeigniter,Select,我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品 以下是我的观点中的表单部分: <?php $attributes = array('method'=>"POST", "class" => "myc", "id" => "myc", "name" => "dropdwn"); echo form_open_multipart('frontend/home/display', $attributes); ?>
<?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(); ?>
我的型号:
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子句不返回任何结果。
但是,如果我更改where子句,例如->where('category','phones'),它只显示phones。那么,如何将所选值正确地传递给查询?我将帮助您。
查看文件
<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 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();
}
从
到
顺便说一句,
echo
&var_dump()
在调试控制器和/或模型时非常有用。如果您想从数据库中列出添加的产品列表,只需使用以下代码谢谢您的回答伙计们,实际上一切正常,我的错,我的选择表单的名称有一个输入错误,与数据库中的数据不对应
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();
}
$selected = implode(" ", $this->input->post());
$selected = $this->input->post('category');