Php извлекает данные цикла - PullRequest
       6

Php извлекает данные цикла

0 голосов
/ 26 сентября 2019

У меня была эта функция, и она извлекала данные из базы данных.В настоящее время это только выборка данных до этого уровня.

Ledger > Group > Subgroup

Если в подгруппе есть больше детей, она не умеет читать.Данные в таблице будут иметь бесконечный цикл, если accountMainID не равно нулю в запросе SUBGROUP .Любая идея, как я могу получить все данные, пока не больше цикла.Ценю вашу помощь.

> Subgroup > ChildSubgroup > more.. > more.. > ..

function getOverViewGroup(){
  global $ehorsObj;
  $accountLedgerID	= (isset($_POST['accountLedgerID']) ? $_POST['accountLedgerID'] : '');

  $MainArray = array();
  $json_response = array();
  /* LEDGER */
  $sqlLedger = "SELECT accountLedgerID, accountLedgerName, active 
                FROM tblAccAccountLedger 
                WHERE active = 'y' 
                AND accountLedgerID = '" .$accountLedgerID. "' 
                ORDER BY accountLedgerName ASC ";

  $GetResult = $ehorsObj->FetchData($sqlLedger, $ehorsObj->DEFAULT_PDO_CONNECTIONS);
  while ($row = $GetResult->fetch()) {
    $ledgerID 	= $row['accountLedgerID'];
    
    /* GROUP */
    $sqlGroup = " SELECT accountID, accountName, active
                  FROM tblAccAccounts 
                  WHERE accountLedgerID = '" .$ledgerID. "' 
                  AND  accountSub = 'n' ";

    $group = array();
    $GetGroup = $ehorsObj->FetchData($sqlGroup, $ehorsObj->DEFAULT_PDO_CONNECTIONS);
    while ($row2 = $GetGroup->fetch()) {
      $accountID = $row2['accountID'];

      $subGroup = array();
      /* SUBGROUP */
      $sqlSubGroup = " SELECT accountID, accountMainID, accountName, active 
                       FROM tblAccAccounts 
                       WHERE accountLedgerID = '" .$ledgerID. "'
                       AND accountMainID = '" .$accountID. "' 
                       AND accountSub = 'y' ";
                       
      $GetSubGroup = $ehorsObj->FetchData($sqlSubGroup, $ehorsObj->DEFAULT_PDO_CONNECTIONS);
      while ($row3 = $GetSubGroup->fetch()) {
        $subGroup[] = $row3;						
      }

      $group[] = array('accountID' => $row2['accountID'], 'accountName' => $row2['accountName'] , 'active' => $row2['active'], 'items' => $subGroup);	
    }

    $MainArray = array('ledgerID' => $row['accountLedgerID'] , 'accountLedgerName' => $row['accountLedgerName'], 'active' => $row['active'],'items' => $group ); 
    array_push($json_response, $MainArray);				
  }
  header("Content-type: application/json");
  $result = json_encode($json_response, JSON_NUMERIC_CHECK, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  echo $result;
}

Пример данных в tblAccAccounts Example of data in tblAccAccounts

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