MohammedZr Ответов: 0

Обработка массива объектов


Я создал функцию под названием `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

Мне нужна помощь, это очень необходимо.
спасибо Ричарду Маккатчану за обновление кода.

0 Ответов