В настоящее время я работаю над приложением по управлению запасами.Это основано на структуре Codeigniter.Основная операция приложения заключается в управлении «покупками» и «проблемами», как и в любом из этих типов приложений.
02) order_status, тот же столбец используется для записи статуса «покупок» и «проблем» в таблице MySQL.Столбец & с именем «supplier» записывает значения supplier_id и employee_id.
03) Функция, которую я использовал в модели, выглядит следующим образом:
function issueDetailReport($id,$start,$end){
$this->db->select('store_update_stock_details.item,
CASE store_update_stock.order_status
WHEN "purchase" THEN tbl_supplier.supplier_name
WHEN "issue" THEN store_officer.officer_name
END AS supplier, *');
$this->db->from('store_update_stock');
$this->db->join('store_update_stock_details','store_update_stock.update_stock_id=store_update_stock_details.update_stock_id');
$this->db->join('store_officer','store_update_stock.supplier=store_officer.officer_id ');
$this->db->join('tbl_supplier','store_update_stock.supplier=tbl_supplier.supplier_id ');
$this->db->join('store_item','store_update_stock_details.item=store_item.item_id', 'inner');
$this->db->where("store_update_stock.status='1' and store_item.item_id=$id");
if($start!=NULL && $end!=NULL)
$this->db->where("store_update_stock.billed_date BETWEEN '$start' AND '$end'");
$this->db->order_by('store_update_stock.purchased_date','DESC');
$q=$this->db->get();
if($q->num_rows()>0){
return $q->result();
}
return false;
}
04) И отображается следующим образом:
<div class="row" style="margin-top: 2%">
<div class="col-xs-12 table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>In Num</th>
<th class="text-left">Received / Issued </th>
<th class="text-left">Date</th>
<th class="text-right">Amount</th>
<th class="text-right">Unit Price</th>
<th class="text-right">Sub Total</th>
</tr>
</thead>
<tbody>
<?php
$sub_total=0;
$total=0;
$no=1;
$totalqty=0;
if(!empty($issueDetail)){
foreach ($issueDetail as $rows){
$sub_total=(-1)*$rows->qty*$rows->unit_price;
$total=$total+$sub_total;
$qty_sub_total=(-1)*$rows->qty;
$totalqty=$totalqty+$qty_sub_total;
?>
<tr>
<td><?=$no++?></td>
<td class="text-left"><?=$rows->supplier_name / officer_name?></td>
<td class="text-left"><?=$rows->purchased_date?></td>
<td class="text-right"><?=(-1)*$rows->qty?></td>
<td class="text-right"><?=$rows->unit_price?></td>
<td class="text-right"><?=number_format($sub_total,2)?></td>
</tr>
<?php
}
?>
<tr>
<th colspan="1" class="text-left">Total </th>
<th></th>
<th></th>
<th class="text-right" > <?=$totalqty?></th>
<th></th>
<th class="text-right" > <?=number_format($total,2)?></th>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<!-- /.col -->
</div>
05) При выполнении просмотра возникла следующая ошибка:
Произошла ошибка базы данных Номер ошибки: 1064
В синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с '. officer_name
END
AS supplier
ИЗ store_update_stock
ПРИСОЕДИНЯЙТЕСЬ к `store_update_stoc' в строке 1
SELECT store_update_stock_details
. item
, CASE store_update_stock
. order_status WHEN "purchase" THEN tbl_supplier
. supplier_name WHEN "issue" THEN store_officer
. officer_name
END
, FALSE
ОТ store_update_stock
JOIN store_update_stock_details
ВКЛ. store_update_stock
. update_stock_id
= store_update_stock_details
. update_stock_id
JOIN store_officer
ON store_update_stock
. supplier
= store_officer
. officer_id
JOIN tbl_supplier
ON store_update_stock
. supplier
= tbl_supplier
. supplier_id
INNER JOIN store_item
ON store_update_stock_details
. item
= store_item
. item_id
ГДЕ store_update_stock
. status
= '1' и store_item
. item_id
= 3 ЗАКАЗАТЬ ПО store_update_stock
. purchased_date
DESC
Имя файла: C: /xampp/htdocs/doastores/application/models/Report_model.php
Номер строки: 112
06) Но запрос работает в PhPMyAdmin.Я не могу понять, что может быть не так в этом пункте.Кто-нибудь может мне помочь?