Ik ben bezig met een applicatie waarvoor ik iets moet maken en dacht dat is iets voor een Meer dimensionaal Associative array. Alleen ik heb hier niet veel ervaring mee.
Voor het vullen heb ik een main query en een subquery. Dit gaat op zich goed al kan het misschien beter.
Vullen:
<?php
$SQLMainQuery = "SELECT...";
$RSM=($con, $SQLMainQuery)
while (odbc_fetch_array($ResultMainQuery) {
//vullen array MAIN deel
$aMwa = [odbc_result($RSM, field)][] = odbc_result($RSM, field) //Array main idex [0]
$aMwa = etc.
//
$SQLSubQuery = "SELECT... FROM VIEW WHERE Subquery_value = Mainquery_value";
$RSS=($con, $SQLSubQuery)
while (odbc_fetch_array($ResultQuery) {
//Aanvullen array met SUB query deel. Hier onstaat meerdimensionaal array
$aMwa = [odbc_result($RSM, field)][odbc_result($RSS, field)][] = odbc_result($RSS, field) //Sub Array idex [field name] => ARRAY ( [0]
$aMwa = [odbc_result($RSM, field)][odbc_result($RSS, field)][] = etc. vullen
}
}
?>
Het Resultaat wat ik nu krijg ben ik in eerste instantie niet ontevreden over.
[MAIN_1] => Array
(
[0] => 11.12
[1] => 22.775000000
[2] => 33.895
[SUB_1_1] => Array
(
[0] => 22.12
[1] => 12.23000000
[2] => 23.895
)
)
[MAIN_2] => Array
(
[0] => 1.12
[1] => 33.775000000
[2] => 44.895
[SUB_2_1] => Array
(
[0] => 23.30
[1] => .000000000
[2] => 997.3
)
)
Waar ik wel over twijfel is dat in het MAIN_ deel een index [0], [1], [2] en dan opeens [SUB_] index heeft.Ik weet niet of ik dit anders moet doen.
In dit voorbeeld zit voor beide MAIN records maar één SUB_ record. Maar ieder Main record kan meerdere SUB records hebben
Het resultaat moet worden in HTML moet dan worden (ik weet niet hoe ik dit in HTML moet tonen, sorry):
<HTML>
<table>
<tr>
<th> kolom 1</th><th>Kolom 2</th><th>Kolom 4</th><th>Kolom 4</td>
</tr>
<tr>
<td>MAIN_1</td><td>11.12</td><td>22.775000000</td><td>33.895</td>
</tr>
<tr>
<td>- SUB_1_1</td><td>22.12</td><td>12.23000000</td><td>23.895</td>
</tr>
<tr>
<td>- evt. SUB_1_n</td><td>22.12</td><td>12.23000000</td><td>23.895</td>
</tr>
<tr>
<td>MAIN_2</td><td>1.12</td><td>33.775000000</td><td>44.895</td>
</tr>
<tr>
<td>- SUB_2_1</td><td>23.30</td><td>.000000000</td><td>997.3</td>
</tr>
</table>
</HTML>
Afgezien of ik mijn array wel op de juiste manier en of er geen betere manier is loop ik vast in het uitlezen van het subdeel. Daar ontbreekt ook een stukje kennis van opzetten (meer dimensionaal) associative array.
<?PHP
$HTML = '<table>';
foreach ($aMwa as $sMainLevel => $aSublevel) {
$HTML .= '<tr><td>'.$sMainLevel.'</td>';
for ($i=0; $i < 3; $i++) {
$HTML .= '<td>'.$aMwa[$sMainLevel][$i].'</td>';
}
$HTML .= '</tr>'; // Afsluiten MAIN regel
// En nu moet hier het SUB array uitgelezen worden. Hier zit dus de bottleneck
foreach ($aSublevel as $key => $value) {
$HTML .= '<tr><td> - '.$key.'</td>';
for ($j=0; $j < 3; $j++) {
$HTML .= '<td>'.$aSublevel[$key][$j].'</td>';
}
$HTML .= '</tr>'; // Afsluiten MAIN regel
}
}
$HTML = '/<table>';
?>
Ik weet niet of ik het goed uitgelegd heb maar ik hoop van wel.
Bedankt,
Nico