2016-03-30 8 views
0

jeasyUI Gridの情報を生成するためのPHPスクリプトがあります。私はこの配列をしますprint_r場合PHPの基本的な演算を行う

$sql = $db->query(sprintf("SELECT ID, rec_purID, rec_qty, rec_date, p.pur_ID, p.pur_productID, p.pur_supplierID, p.pur_unitPrice, pr.prod_productName, c.cont_fullName FROM receipts inner join purchases p on rec_purID = p.pur_ID inner join products pr on p.pur_productID = pr.prod_productID inner join contacts c on p.pur_supplierID = c.cont_ID")) or SQLError(); 

while($rec = $sql->fetch_assoc()) { 
    $group[] = $rec; 
} 
foreach ($group as $key => $val) { 
    $group[$key]['rec_val'] = $val['rec_qty'] * $val['pur_unitPrice']; 
} 
$smarty->assign('group', $group); 

、それが正しいと表示されます。

Array ( 
[0] => Array ([ID] => 78 [rec_purID] => 32 [rec_qty] => 1000 [rec_date] => 2016-03-30 [pur_ID] => 32  [pur_productID] => 5 [pur_supplierID] => 41 [pur_unitPrice] => 100.00 [prod_productName] => Acetate Tow [cont_fullName] => DELPACK TRADING (PTY) LTD [rec_val] => 100000) 
[1] => Array ([ID] => 79 [rec_purID] => 31 [rec_qty] => 2207 [rec_date] => 2016-03-30 [pur_ID] => 31 [pur_productID] => 5 [pur_supplierID] => 41 [pur_unitPrice] => 95.50 [prod_productName] => Acetate Tow [cont_fullName] => DELPACK TRADING (PTY) LTD [rec_val] => 210768.5) 
[2] => Array ([ID] => 80 [rec_purID] => 31 [rec_qty] => 3000 [rec_date] => 2016-03-31 [pur_ID] => 31 [pur_productID] => 5 [pur_supplierID] => 41 [pur_unitPrice] => 95.50 [prod_productName] => Acetate Tow [cont_fullName] => DELPACK TRADING (PTY) LTD [rec_val] => 286500) 
) 

私のグリッド、しかし「rec_val」の値を参照することはありません。誰かが私が間違って行ったことを説明することができます。

<table id="dg" class="easyui-datagrid" style="width:100%;height:400px" 
       url="receipts.php?do=list" 
       title="Received Goods" 
       toolbar="#toolbar" pagination="true" 
       iconCls="icon-edit" showFooter="true" 
       sortName="ID" sortOrder="asc" 
       rownumbers="true" fitColumns="true" singleSelect="true"> 
       <thead> 
        <tr> 
         <th field="ID" width="10" sortable="true">Internal ID</th> 
         <th field="prod_productName" width="80" sortable="true">Product</th> 
         <th field="cont_fullName" width="80" sortable="true">Supplier</th> 
         <th field="rec_qty" width="80" sortable="true">Quantity</th> 
         <th field="pur_unitPrice" width="80">Unit Price</th> 
         <th field="rec_val" width="80">Value</th> 
         <th field="rec_date" width="80" sortable="true">Date Received</th> 

        </tr> 

       </thead> 

     </table> 

ありがとうございます。

+0

としてループが正常に見えます私に。しかし、常に '$ group'配列をログファイルにダンプすることができます。 – arkascha

+0

申し訳ありませんarkascha、あなたは何を意味するのですか?配列の内容を示すグリッドの上に出力を掲載しました。 – Nic

答えて

0

正しくエスケープされていないと思われる名前のいずれかに角括弧があるようです。

DELPACK TRADING (PTY) LTD 

"rec_val"の直前に配列を閉じます。

私はeasyuiに精通していませんが、私はこれが問題であると思っています。特に、他の値が正しく表示されていると思います。

最後に私のソリューションは、ルックアップでCALCを行うことでした
+0

私はそのレコードの名前を編集して()を削除しましたが、何の違いもありません。 – Nic

+0

これは文字列として認識されないようですが、おそらくあなたは全体を ""必要とするでしょうか?私はeasyuiに精通していないと言ったように – Jester

0

:(UNSIGNEDとして(rec_qty * p.pur_unitPrice))

$row = $db->query(sprintf("SELECT ID, rec_purID, rec_qty, rec_date, p.pur_ID, p.pur_productID, p.pur_supplierID, p.pur_unitPrice, CAST((rec_qty * p.pur_unitPrice) as UNSIGNED) as rec_value, pr.prod_productName, c.cont_fullName FROM receipts inner join purchases p on rec_purID = p.pur_ID inner join products pr on p.pur_productID = pr.prod_productID inner join contacts c on p.pur_supplierID = c.cont_ID")) or SQLError(); 

CAST rec_value

+0

あなた自身の答えを受け入れる必要があります –

関連する問題