请教一个问题,关于资料库取出值做运算
本帖最后由 Maracuj_JfQ4E 于 2016-2-29 11:29 编辑程式码如下
function index(){
$this->load->model ( 'Qty_model' );
$query = $this->Qty_model->DMS ('SEL_QTY')->result_array ('SEL_QTY');
$data = array
'data' => $query
);
$this->load->view('Qty_test',$data);
}
想要让销售数量*2,再把结果丢到数据,试了很多写法,都没成功
想请问各位要如何解决?因为刚接触CI,所以烦请大家了,谢谢 方便提供 Qty_model 中的 DMS 方法的程式碼嗎 ? <?php
class Qty_model extends CI_Model{
function __construct() {
parent::__construct();
$this->load->database();
}
function Dms(){
return$this->db->get ( 'qty' );
return $query;
}
}
?> 本帖最后由 Closer 于 2016-2-16 11:10 编辑
Maracuj_JfQ4E 发表于 2016-2-16 10:44
好,我們來一一解析你做的事情
/*
一般沒這種寫法 $this->模型->方法()->輸出結果陣列();
都是 $this->模型->方法();
不過你這種方式我倒沒試過
另外你給予 DMS 的 SEL_QTY 根本沒在用阿
而且 result_array 根本不需要給予值
多看看手冊上 result_array 的用法
*/
$query = $this->Qty_model->DMS ('SEL_QTY')->result_array ('SEL_QTY');
/*
你控制器呼叫 DMS 方法
模型裡面卻定義 Dms 方法
請大小寫統一
另外你的這兩段永遠只會執行第一段
因為 return 就結束了
*/
return$this->db->get ( 'qty' );
return $query;
整體而言你只做了下列幾件事 :
1. 從資料表 qty 取出資料陣列 (如果這種寫法有取成功的話 ...)
2. 塞到變數 data 中名為 data 的 Key 值
3. 送往 view 端
關於這段話,我不曉得你想要做到甚麼樣的程度
只是要顯示的數量 *2 ? 還是 *2 後存入資料表 ?
想要让销售数量*2,再把结果丢到数据
资料是有取出成功,我要的是*2后放回资料库,view出来的资料就是*2后的,
我写法都是看范例拼凑的,我会改进的
1. 從資料表 qty 取出資料陣列 (如果這種寫法有取成功的話 ...)
2. 塞到變數 data 中名為 data 的 Key 值---------------------->从这里*2,再把*2后资料存回资料库,在丢进view里
3. 送往 view 端 Maracuj_JfQ4E 发表于 2016-2-16 11:47
资料是有取出成功,我要的是*2后放回资料库,view出来的资料就是*2后的,
我写法都是看范例拼凑的,我会改进的
...
按照你的說法
不就每次到該方法時
數量都會 *2 ?
我要的是我输入值,每个值都*2印出来,但照你说的,好像会一直回圈*2:'( Maracuj_JfQ4E 发表于 2016-2-16 13:38
我要的是我输入值,每个值都*2印出来,但照你说的,好像会一直回圈*2
說說你想達到甚麼樣的目的
再跟你說怎麼做會比較好
你的需求應該比較偏向於
一個輸入框送出後 *2 銷售數量 ?
那可以考慮看看 redirect() 而非 $this->load->view(); 其实我主要的是可以做运算,因为我设一些变数,讯息都会显示无支援,或者无法辨识,宣告变数也是错误讯息.
所以我只要简单的运算.就是知道怎么把运算结果放进去.显示出来:( 本帖最后由 Closer 于 2016-2-16 16:09 编辑
Maracuj_JfQ4E 发表于 2016-2-16 15:41
其实我主要的是可以做运算,因为我设一些变数,讯息都会显示无支援,或者无法辨识,宣告变数也是错误讯息.
所以 ...
<?php
// 控制器端 :
function __construct() {
parent::__construct();
$this->load->database();
$this->load->model('Qty_model');
}
// 顯示數據用
function index(){
$data['data'] = $this->Qty_model->getData();
// 在該 view 端放一個 form & button 送往 update 方法
$this->load->view('Qty_test', $data);
}
// 更新數據用
function update(){
$this->Qty_model->updateData();
redirect('???/index', 'refresh'); // 第一參數給予你要前往的控制器/方法
}
<?php
// 模型端 :
class Qty_model extends CI_Model{
function __construct() {
parent::__construct();
$this->load->database();
}
function getData(){
$query = $this->db->get('qty');
if($query->num_rows() > 0){
return $query->result_array();
}
return array();
}
function updateData(){
$_query = $this->db
->where('id', 1)
->get('qty');
if($_query->num_rows() > 0){
$query = $_query->row_array();
$amount = $query['amount'] * 2;
$data = array('amount' => $amount);
$this->db->where('id', 1)->update('qty', $data);
}
return;
}
}
页:
[1]
2