Mam dwie tabele w bazie ( nie wypisuje wszystkich pól, tylko te co są istotne przy moim problemie):
tab.a1
ID | nazwa | numer|
1 | cytryna| 1001|
2 |kiwi | 1002|
3 |banan | 1003|
4 |jabłko | 1004|
itd.
tab.b1
ID |nr2 | czas | atrybut|
1 | 1001| 20130105 | h|
2 | 1001 | 20130108 | r |
3 | 1001| 20130110 | h|
4 |1002 | 20130106 | h|
5 | 1002| 20130109 | h|
6 |1003 | 20130114 | r|
7 |1003 |20130115 | r|
8 |1004 |20130110 | a|
Pierwsza część działa mi prawidłowo, otrzymuję wszystkie wyniki spełniające zapytanie
<?php $query="SELECT * FROM a1 inner join b1 where numer=nr2 and czas2 between '20130101' AND '20130115' group by nazwa, atrybut"; $i = 0; $i++; $wynik = $i%2; if($wynik == "0"){ $kolor = "white";} else { $kolor = "lightgreen"; } <td width="25%">'.$set['nazwa'].'</td> <td width="12%">'.$set['nr2'].'</td> <td width="12%">'.$set['atrybut'].'</td> </tr>'; }?>
w wyniku otrzymuję taką tabelkę:
1.cytryna 1001 h
2.cytryna 1001 r
3.kiwi 1002 h
4.banan 1003 r
5.jabłko 1004 a
Teraz chciałbym by nastapiło zliczenie wg takiego rozwiązania po atrybutach.
Jeśli dana produkt ( np. cytryna ) wystepuje w dwóch wynikach z różnymi atrybutami ( h, r ) to chcę by to było zliczone jako h
i by w tabeli poniżej nastepowało sumowanie po atrybutach
(analogicznie sobie już pozostałe ustawienia dopasuję )
czyli w tym przypadku:
atrybut h - 2 ( czyli cytryna i kiwi )
atrybut r - 1 ( czyli banan)
atrybut a - 1 (czyli jabłko )
//nie wiem w jaki sposób osiągnąć to co wyżej opisałem. <td width="25%">'.$ilosc.'</td> <td width="25%">atrybut H '.$.'</td>
<td width="25%">atrybut R '.$.'</td>
<td width="25%">atrybut A '.$.'</td>
'; ?>
W jaki sposób można to zrobić, proszę o jakieś podpowiedzi i wskazówki.