php loop из базы данных - PullRequest
       2

php loop из базы данных

0 голосов
/ 19 ноября 2018

у меня есть код, который хранит данные в базе данных как объект с serialize (), и показать это в таблице в цикле из базы данных, в каждой категории есть столбец 'payment', в котором есть массив с данными платежей (пример: [num, string, date]). В каждой категории может быть несколько платежей, но проблема в том, что теперь он показывает все категории платежей в таблице один под другим я пытаюсь сделать это лучше, чтобы в столбце, который отображает платежи, будет модальная кнопка, которая отображает платежи каждой категории в модальном режиме, но отображает первое значение в массиве для всех категорий я пытаюсь что-то дать, но это невозможно, потому что печатает информацию в цикле

это мой код:

function showTable($table, $data, &$totalSum = 0)
{
$totalEestimatedCost = 0;
$totalMyBudget = 0;
if (is_array($data)) {
    $tableToShow = '';
    $outputData = '<table class="table table-striped table-hover table-responsive-xs table-responsive-sm table-responsive-md table-responsive-lg" >';
    $outputData .= "
    <thead>
    <tr>
      <th  scope='col'>קטגוריה</th>
      <th  scope='col'>התקציב שלי</th>
      <th  scope='col'>עלות בפועל</th>
      <th  scope='col'>תשלומים</th>
      <th  scope='col'>יתרה לתשלום</th>
      <th  scope='col'>הקובץ</th>
    </tr>
    </thead>
    <tbody>
     ";
    $totalHefresh = 0;
    for ($i = 1; $i < count($data) / 2; $i++) {
        $arrData = unserialize($data[$i]);
        $heb_name = $arrData['data']['field_name_heb'];
        $files = $arrData['data']['files'];
            $myBudget = isset($arrData['data']['my_budget'])?$arrData['data']['my_budget']:0;
              $myBudgetNumber = number_format($myBudget);
        $estimatedCost = isset($arrData['data']['estimated_cost'])?$arrData['data']['estimated_cost']:0;
        $estimatedCostNumber = number_format($estimatedCost);
        $filesData = returnFiles($files, $arrData['data']['field_name'], $arrData['data']['stage']);
        $total_field_cost =  isset($arrData['data']['total_cost'])?$arrData['data']['total_cost']:0;
        $payments = returnPayments($arrData['payments'], $arrData['data']['field_name'], $arrData['data']['stage']);

        $hefresh = $estimatedCost - $total_field_cost;
        $hefreshNumber = number_format($hefresh);
        $totalEestimatedCost += $arrData['data']['estimated_cost'];
        $totalEestimatedCostNumber = number_format($totalEestimatedCost);
        $totalMyBudget += $arrData['data']['my_budget'];
        $totalMyBudgetNumber = number_format($totalMyBudget);
        $totalHefresh += $hefresh;
        $totalHefreshNumber = number_format($totalHefresh);
        $outputData .=
            "<tr>

<td>$heb_name</td>
 <td class='text-center'> <span> ₪ </span> <span>$myBudgetNumber</span>  </td>
<td  class='text-center'> <span> ₪ </span> <span>$estimatedCostNumber</span>  </td>
<td >$payments</td>
<td class='text-center'><span>  ₪ </span> <span>$hefreshNumber</span></td>
<td style='height: 118px'>$filesData</td>
</tr>
</tbody> ";

 //echo "<pre>";
   //print_r($arrData);
    }
    printDinamicDataTable($table , $outputData , $totalEestimatedCost , $totalHefresh);
    $outputData .= "</table>";
    $outputData .= "<div class='total-hfresh'>
    <div>סה\"כ התקציב שלי: $totalMyBudgetNumber</div>
    <div>סה\"כ עלות בפועל: $totalEestimatedCostNumber</div>
    <div>יתרה לתשלום: $totalHefreshNumber</div>

    </div>";
  //echo "<br> $outputData";
    $totalSum += $totalHefresh;
    return $outputData;
    }
   };

  function returnPayments($payments, $field, $stage)
  {
  $dataToReturn = '';
  foreach ($payments as $key => $value) {
    $payment = $value['payment'];
    $date = $value['date'];
    $note = $value['note'];
   $dataToReturn .= "<table style='width: 100%;margin-bottom: 5px'><tr><td 
    class='pay-td1'>₪  $payment </td>";
    $dataToReturn .= " <td class='pay-td2'>$note </td>";
    $dataToReturn .= "<td class='pay-td3'> $date </td>";
    $dataToReturn .= "<td><button data-stage='$stage' data-id='$key' data- 
     name='$field' class='deletePayment btn btn-danger'><b>X</b>                                 
     </button></td></tr></table>";

   }
    return $dataToReturn;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...