$pytanie20="SELECT CONCAT(ODPLNR, ODDWNR) as numer, ODDNR1, ODDNKD, ODDNNR, ODDNDT, DADWNZ, DADWIM, DADWPS, ODWSDP FROM ODDANIA INNER JOIN DAWCY on ODDWNR=DADWNR AND ODPLNR =DAPLNR WHERE ODDNDT Between '".$czas1."' And '".$czas2."' AND ODDNKD='E5' AND ODDNI2>'0' OR ODDNDT Between '".$czas1."' And '".$czas2."' AND ODDNKD='EA' AND ODDNI2>'0' OR ODDNDT Between '".$czas1."' And '".$czas2."' AND ODDNKD='EK' AND ODDNI2>'0' OR ODDNDT Between '".$czas1."' And '".$czas2."' AND ODDNKD='EP' AND ODDNI2>'0' "; $ilosc20 = odbc_num_rows($result20); while($set20=odbc_fetch_array($result20)){ $ODDWNR20 = $set20['NUMER'] ; if($set20['ODWSDP']=='P'){ $element20[$ODDWNR20] = 'P';} elseif(($set20['ODWSDP']=='R' or $set20['ODWSDP']=='S' or $set20['ODWSDP']=='W') && (!isset($element20[$ODDWNR20]) || $element20[$ODDWNR20]!='P')){ $element20[$ODDWNR20] = 'S'; } foreach ($element20 as $el20 => $atr20){ if ($atr20=='P') { $tab_P20[] =$el20;} elseif ($atr20=='S') { $tab_S20[] =$el20;} } }
Otrzymuję przy wyświetleniu $daw_P20 i $ daw_S20 prawidłowe wartości. Otrzymane wartości musiałbym następnie podzielić wg ODPLNR ( jest tam 4 grupy : 14000, 14001, 14002, 14030 ). Tak otrzymane wartości w poszczególnych grupach, musiałbym podzielić jeszcze wg ODDNKD ( EK, EP, E5, EA).
Czyli ma to wyglądć mniej więcej tak. Na podstawie zapytania nalezy podzielić wyniki na dwie grupy wg ODWSDP, na P i na pozostałe R,S,W. Założenie jest takie, że jeśli rekord zawiera P to ma być zliczany w pierwszej kolejności do P, a jeśli nie to do pozostałych. W kolejnym kroku otrzymane wyniki wg ODWSDP, mają zostać podzielone wg ODPLNR na wspomniane 4 grupy. A nastepnie te wyniki mają zostać podzielone na ODDNKD.
Wyniki z każdego poziomu muszą być wyświetlone.
Z pierwszym poziomem jakoś sobię poradziłem, ale jak zrobić kolejne to już nie wiem. Może jest na to jakiś łatwiejszy sposób?