我在具有以下查询的模型中具有函数,并且我想在查询之外使用value1,value2和value3进行一些计算。如何从此result()获取值?
function ($id,$username$) {
$this->db->select("id,value1,value2,value3,value4");
$this->db->from("table1");
$this->db->where("username=$username and id = $id");
$query=$this->get();
$result = $query->result();
$result['$testvalue'] = (value1 * value2/113) + value3;
return $result; }
有人可以帮忙吗?我已经找到了如何使用表中的值,而不是查询中的值!
好的,现在我知道如何使用row_array了。我在控制器中调用row_array
$data = $this->model_testmodel->testfunction($id, $username);
...
$this->load->view('pages/view_test', $data);
现在我想知道视图的样子。我尝试了许多不同的方法。在我陷入困境的那一刻...
<?php foreach $data as $value: ?>
<label>Value1:</label>
<input type="text" name="value1" value="<?php echo $value['value1']; ?>">
<label>Value2:</label>
<input type="text" name="value2" value="<?php echo $value['value2']; ?>">
...
<?php endforeach; ?>
但我得到两个错误:
消息:未定义的变量:数据
消息:为foreach()提供了无效的参数
试试这个...
function ($id,$username)
{
$this->db->select("id,value1,value2,value3,value4");
$this->db->from("table1");
$this->db->where(array('id'=>$id,'username'=>$username));
$query=$this->db->get();
$result = $query->row();
$testvalue = (($result->value1 * $result->value2/113) + $result->value3);
//test here
echo $testvalue;
$res = array();
$res['testvalue'] = $testvalue;
$res['value1'] = $result->value1;
$res['value2'] = $result->value2;
$res['value3'] = $result->value3;
return $res;
}
它返回$ res作为数组。易于执行,得到问题注释..如果它可以接受,让我们享受。
然后进行函数调用并接受变量中的数组。像这样。首先加载模型,然后从控制器进行函数调用。
$this->load->model('model_name');
$data= $this->model_name->function_name($id,$username);
//Fetch returned array like this..
echo $data['testvalue'];
echo $data['value1'];
//so on
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句