2016-08-03 15 views
0

Ich bin neu in PHP. Ich habe folgenden Typ von Daten der Datenbanktabelle, die ich in PHP anzeigen möchte. Tabellendaten ist in einer Variablen „OutputIn PHP wie Datenbankdaten in verschiedene Tabellen zu analysieren

enter image description here

Jetzt möchte ich auf folgende Weise diese Daten in PHP angezeigt werden soll.

enter image description here

ID Produkt sollte nicht wiederholt werden und "Child Columns" sollte auf der Grundlage von "Kategorie" verschachtelt werden.

Folgende ist mein Code: Model.php Code:

public function getproddata() 
{ 
    $Outputdata=$this->query("CALL Product();"); 
    return $Outputdata; 
} 

Controller-Code:

public function Procdata() { 
    $Outputdata=$this->Systemstate->getproddata($testId); 
    $this->set('Outputdata',$Outputdata); 
} 

PHP-Code:

<div class='data1'> 
<table class='data11 defaultTable'> 
    <th colspan='2'>Data <?php echo $i ?></th> 
    <tr> 
     <td><?php echo "Product ID" ?></td> 
     <td><?php echo $current['Product ID'] ?></td> 
    </tr> 
    <tr> 
     <td><?php echo "Percentage" ?></td> 
     <td><?php echo $current['Percentage'] ?></td> 
    </tr> 
    </table> 
     <div class='diagnose_toggle' onClick='toggleDiagnose($i)' id='detailsButton$i'></div> 
     <table id='details$i' class='defaultTable'> 

     <tr> 
     <th><?php echo "Category ID" ?></th> 
     <th><?php echo "Child Category ID"?></th> 
     <th><?php echo "Child Category Name"?></th> 

     </tr> 
     <tr> 
     <td><?php echo $current['Category ID']?></td> 
     <td><?php echo $current['Child Category ID']?></td> 
     <td><?php echo $current['Child Category Name']?></td> 

     </tr> 
     </table> 


     <?php $i++; ?> 

Datenbankabfrage:

Select Product_ID, Percentage, CategoryID, Child_Categ_ID, Child_categ_name 
from products order by Product_ID, CategoryID 

Problem ist alle Produkt-IDs in separaten Zeilen angezeigt werden und keine Verschachtelung ist es auch.

Haben Sie eine Idee, die Verschachtelungs- und Gruppierungslogik hinzuzufügen? Danke

+0

Bitte zeigen Sie Ihre Datenbank-Abfrage-Code. – AVProgrammer

+0

Datenbankabfrage wurde hinzugefügt @AVProgrammer –

+0

Ich meinte den PHP-Code auch. Angenommen, Sie erhalten die Ergebnisse in der typischen Weise (verschachteltes Array), müssen Sie wahrscheinlich eine geschachtelte Schleife durchführen, um alle Daten zu entfernen: 'for ($ i = 0; $ i $ field_value) ... ' – AVProgrammer

Antwort

1

`` für Ihre erste Tabelle unter der Annahme Ihrer Anfrage ist eine Auswahl aller Abfragen Sie alle Werte in einem Array erhalten würden dann Benutzer foreach Schleife Var_dump werden Sie Ihre Abfrage anzeigen helfen, die Sie

foreach ($variable as $key as $value){ 
<table> 
<tr> 
<td><?php echo $value->column_name1 ?><td> 
<td><?php echo $value->column_name2 ?><td> 
<td><?php echo $value->column_name3 ?><td> 
<td><?php echo $value->column_name4 ?><td> 
</tr> 
</table> 
} 
gefangen

Wenn Sie aus 2 Tabellen abrufen, wenn (Primärschlüssel == Fremd) verwenden Sie & & innen auf, wie genau Sie filtern möchten

+0

Eigentlich habe ich alle Daten und ich habe es auch angesehen, Ich bin auf der Suche nach der Verschachtelung Logik wie in Abbildung 2 gezeigt –