我得到sql结果为数组..然后它给我显示像`
这样的错误尝试在控制器中获取非对象的属性 `$率= $ product_det-> sale_rate;
这个sale_rate
是我的表产品中的一个字段。我是PHP的新手。有人可以帮忙吗?
我的模特:
function get_productDet($item)
{
$this->db->select('*');
$this->db->from('product');
$this->db->where('id',$item);
$res=$this->db->get()->result_array();
return $res;
}
我的控制器:
function product_det()
{
$item=$this->input->post('item_id');
$quantity=$this->input->post('quantity');
$rate=$this->input->post('rate');
$amount="";
$cgst="";
$sgst="";
$igst="";
$product_det=$this->sale_model->get_productDet($item);
if(!empty($product_det))
{
if($rate=="" || $rate==0)
{
$rate=$product_det->sale_rate;
}
$amount=$rate*$quantity;
$cgst_per=$product_det->CGST;
$sgst_per=$product_det->SGST;
$igst=0;
}
echo $rate."-".$amount."-".$cgst."-".$sgst."-".$igst."";
}
我的javascript函数:
$.ajax({
url: '<?php echo base_url(); ?>sales/product_det',
data: ({"item_id":item_id,"quantity":quantity,"rate":rate }),
dataType: 'html',
type: 'post',
success: function(data)
{
alert(data);
}
});
答案 0 :(得分:3)
您在SQL查询中使用<title-title-1>hello</title-title-1>
<text-body>i like you</text-body>
<p>hehe</p>
。
然后使用result_array()
来显示您的记录
foreach loop
答案 1 :(得分:1)
因为显然你只需要一种产品的细节。
更改:强>
$res=$this->db->get()->result_array();
要强>
$res=$this->db->get()->row_array();
然后,结果是数组而不是对象。要访问返回的元素,请执行以下操作。
更改:强>
$product_det->sale_rate;
$product_det->CGST;
$product_det->SGST;
要强>
$product_det['sale_rate'];
$product_det['CGST']
$product_det['SGST'];
答案 2 :(得分:1)
希望这会对您有所帮助:
在模型中只需替换
$this->db->get()->result_array();
用
$this->db->get()->row();
您的模型应该是这样的:
function get_productDet($item)
{
$this->db->select('*');
$this->db->from('product');
$this->db->where('id',$item);
$res = $this->db->get()->row();
return $res;
}