Я делаю проект управления гаражом в Codeigniter, в котором я генерирую счет для пользователя. Здесь пользователь может выбрать элемент из раскрывающегося списка, если он уже сохранен в базе данных, и если элемент, введенный пользователем, недоступен, он не будет отображаться в раскрывающемся списке, тогда пользователь может ввести элемент только оттуда и может отправить форму счета. и сохраненные элементы в сеансе.
Теперь я хочу отфильтровать данные в соответствии с совпадающими элементами.
и, если элемент не соответствует, который сохраняется в сеансе с извлеченным складским списком, то сохраните его в массиве X, иначе сохраните это в updateArray.
Вот функция My Controller
public function nongstListing(){
if($this->session->userdata('userData') == TRUE)
{
$nonGstlist = $this->Login_M->getNonGstList();
if($this->session->userdata('stock') == TRUE)
{
$stock = $this->session->userdata('stock'); // stock list from session that user have
// entered in invoice
$stockList = $this->Login_M->getStockListing(); // Fetching stocklist from DB
$filterBy = '';
$updateArray = array();
$new = [];
$arr = array();
// Loop through stock that is stored in session
for($x = 0; $x < sizeof($stock); $x++){
// storing part name for filter data from fetched stocklist
$filterBy = $stock[$x]['pt_name'];
//Filter stock parts
$arr = array_filter($stockList,function($a) use ($filterBy) {
return stripos($a['part'],$filterBy) !== false;
});
// if part exist in stocklist then store it in updateArray
if(!empty($stock[$x]['pt_name'])){
$updateArray[] = array(
'part' => $stock[$x]['pt_name'],
'sold_product' => $arr[$x]['sold_product'] - $stock[$x]['bill_quantity'],
);
}
else
{
// if item not matched that is stored in session with fetched stock list then store it
// in array X
$x[];
}
}
// update stock
$this->db->update_batch('stock',$updateArray, 'part');
$this->session->unset_userdata('stock');
}
$data = array(
'page_title' => 'Non-Gst Listing',
'nongst_list' => $nonGstlist
);
$this->data['data'] = $data;
$this->page = 'backend/super_users/viw_nongst_listing';
$this->backendLayout();
}
else
{
redirect('admin/login');
}
}