Обработка массива объектов
Я создал функцию под названием `
getPrice
` с двумя параметрами"$id
` и `$codenumber
"поведение этой функции или метода заключается в извлечении определенного столбца в имени элементов, который содержит a"JSON
` массив, а затем метод использует"json_decode
"функция для возврата PHP-массива для работы вокруг массива для получения значений в зависимости от ключей, метод `getPrice
` работает, в чем я застрял? прежде всего декодированные элементы массива хорошо бы находиться внутри а `table
"каждый столбец содержит значение, возвращаемое из массива, а последний столбец для каждой строки имеет два"buttons
для редактирования и удаления строк, кнопку "Редактировать" срабатывает другой дом а `modal
` содержит несколько входных данных для редактирования `row
`, так что предложение о `getPrice
"функция состоит в том, чтобы заполнить вход с помощью"Price
"проблема заключается в том, чтобы определить, какая из строк или элементов, как это показано на скриншоте, та, которую я хочу получить, чтобы его информация заполнила модальныйСтол
Что я уже пробовал:
Core.php [ Содержит `
getPrice
`]<?PHP public function getBillItems($BillID){ if($this->connected === true){ try{ $items = $this->connection->prepare("SELECT `items` FROM `bills` WHERE id=:id"); $items->bindParam(":id",$BillID); $items->execute(); return $items->fetchColumn(); } catch(PDOException $e){ if($this->errors === true){ return $this->error($e->getMessage()); }else{ return false; } } } } public function getPrice($id,$codenumber){ if($this->connected === true){ try{ $items = $this->connection->prepare("SELECT `items` FROM `bills` WHERE id=:id"); $items->bindParam(":id",$id); $items->execute(); $fetchedItems = $items->fetchColumn(); $items = json_decode($fetchedItems); $array = array_column($items, null, 'codenumber'); return $array[$codenumber]->price; } catch(PDOException $e){ if($this->errors === true){ return $this->error($e->getMessage()); }else{ return false; } } } } ?>
billing.php
<pre><?php $AcBilling = $db->getRows("SELECT * FROM `bills` WHERE statues='active' ORDER BY billingdate DESC")?> <div class="container-fluid bg-light"> <?foreach($AcBilling as $activebill){?> <!-- invoice template --> <?$billingJSON = $db->getBillItems($activebill['id']); $decoded = json_decode($billingJSON);?> <!-- retrive Array of Object contains the order items--> <?$id = $activebill['pharmacyid'];?> <div id="<?=$activebill['invoicecodenum']?>" role="tablist" aria-multiselectable="true"> <div class="card"> <div class="card-header" style="font-family:hana;" role="tab" id="section1HeaderId" data-toggle="collapse" data-parent="#<?=$activebill['invoicecodenum']?>" href="#section1Content<?=$activebill['invoicecodenum']?>" aria-expanded="true" aria-controls="section1ContentId"> </div> <div id="section1Content<?=$activebill['invoicecodenum']?>" class="collapse in" role="tabpanel" aria-labelledby="section1HeaderId"> <div class="card-body"> <div class="container" style="font-family:hana;"> <table class="table" style="direction: rtl;" > <thead> <tr> <th>#</th> <th>إسم المنتج</th> <th>سعر القطعة</th> <th>تاريخ الإنتاج</th> <th>تاريخ إنتهاء صلاحية</th> <th>الكمية</th> <th>Free</th> <th>السعر النهائي</th> <th>إجراءات</th> </tr> </thead> <tbody style="font-family: Tahoma; text-align:right;"> <tr> <!-- Parsing $billingJSON to the table --> <? foreach ($decoded as $Product){?> <td scope="row">1</td> <td><?=$Product->name;?></td> <td><?=$Product->price;?></td> <td><?=$Product->productiondate;?></td> <td><?=$Product->expirationdate;?></td> <td><?=$qty=50;?></td> <td>5</td> <td><?=$pricewsale = $Product->price * $qty?></td> <td> </td> </tr> <?}?> </tbody> </table>
Модальный Класс :-
<pre> <div class="modal fade" id="modelId" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> <h5 class="modal-title" style="justify-content: right; font-family:hana;">تعديل</h5> </div> <div class="modal-body" style="text-align: right; direction:rtl;"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-sm col-lg"> <label for="qtyfield" style="font-family: hana;">عدد القطع :-</label> <input type="text" class="form-control" name="qty-input" id="qtyfield" placeholder=""> </div> <div class="col-sm col-lg"> <label for="qtyfield" style="font-family:hana;">سعر القطعة :-</label> <input type="text" class="form-control" name="qty-input" id="qtyfield" placeholder=""> </div> </div><br> <div class="row"> <div class="col-sm col-lg"> <label for="qtyfield" style="font-family: hana;">السعر النهائي :-</label> <input type="text" class="form-control" name="qty-input" id="qtyfield" placeholder="" value =""> </div> <div class="col-sm col-lg"> </div> </div> </div> </div> </div> <div class="modal-footer" style="font-family:hana;"> <button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">إلغاء </button> <button type="button" class="btn btn-Success btn-sm">حفظ </button> </div> </div> </div> </div>
MohammedZr
Мне нужна помощь, это очень необходимо.
спасибо Ричарду Маккатчану за обновление кода.