Witajcie. Zawsze mam z tym problem dlatego zwracam sie o pomoc.
Zapytanie do serwera MS SQL:
$sql = "SELECT user, client ,kwota FROM baza2.dbo.dynamic_crm_ofertyZlecenia_aktualne_i_zrealizowane_v where typ = 'Zlecenie' and data BETWEEN '2015-09-01' AND '2015-09-30' AND user IS NOT NULL AND data_f IS NULL GROUP BY user, client, kwota";
$stmt = sqlsrv_query( $conn, $sql );
Generowanie tabelki:
<table border="1" class="table table-bordered table-condensed table-color">
<thead class="orange">
<tr class="blueDark">
<th colspan="2">Klient</th>
<th >Kwota</th>
</tr>
</thead>
<tbody>
<?php while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { ?>
<tr class="greyDark">
<td colspan="2">
<?php if (empty($row['user'])) { echo '<span style="color:#d95151;font-weight:bold;">Brak OH</span>'; } else { echo '<b>'.$row['user'].'</b>'; } ?></td>
<td >// tu ma byc suma dla usera //</td>
</tr>
<tr >
<td colspan="2">
<?php echo $row['client']; ?></td>
<td >
<?php echo $row['kwota']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
W tej chwili uzyskuję taką tabelkę:

A chciałbym pogrupowaną w taki sposób:

Jak to powinno byc zrobione, bo nie daje rady

Z góry dzięki za pomoc.
EDIT:
Chyba sobie poradzilem. Wygląda to teraz tak:
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ){
if (!isset($users[$row['user']])) $users[$row['user']] = array();
$users['<td bgcolor="#CCCCCC"><b>'.$row['user'].'</b></td><td bgcolor="#CCCCCC"><b>//suma//</b></td>'][] = '<td>'.$row['client'].'</td><td>'.$row['kwota'].'</td>';
}
echo '<table border="1" cellspacing="2" cellpadding="2"> <tr>
<th width="268" bgcolor="#FF9900">Klient</td>
<th width="243" bgcolor="#FF9900">Kwota</td>
</tr>
';
foreach ($users as $user => $data){
echo '<tr>'.$user.'</tr>'; foreach ($data as $other){
echo '<tr>'.$other.'</tr>'; }
}
Jeszcze tylko obliczyc sobie ta sume dla każdego usera
Ten post edytował kasior 10.09.2015, 12:30:26
Zapraszam do odwiedzenia mojej strony.