MATCH (`kolumna`) AGAINST ('szukany ciag'). Metoda ta wyszukuje dane z uporządkowane w porządku wyznaczonym przez odpowiednie wartości liczbowe, wskazujące na stopień podobieństwa między wzorcem, a znalezionymi danymi. Chciałbym wyświetlic wyniki posortowane wg trafności, ale pogrupowane wg kategorii.
SELECT DISTINCT `KATEGORIA_ARTYKULU`.`NAZWA` AS KATEGORIA, `ARTYKUL`.`ID_ARTYKULU` AS ID_ARTYKULU, CONCAT( `ARTYKUL`.`NAZWA` , ' ', `ARTYKUL`.`NAZWA2` ) AS ARTYKUL, `JEDNOSTKA`.`SKROT` AS JEDNOSTKA, `ARTYKUL`.`STAN` - `ARTYKUL`.`DO_ODBIORCOW` AS STAN, IFNULL( `ARTYKUL`.`CENA_PROMOCJI_N` , `CENA_ARTYKULU`.`CENA_NETTO` ) AS `CENA`, MATCH (`ARTYKUL`.`NAZWA`) AGAINST ('".$query_string_where."') AS licznik_waznosci FROM KATEGORIA_ARTYKULU, ARTYKUL, JEDNOSTKA, CENA_ARTYKULU, KONTRAHENT WHERE MATCH (`ARTYKUL`.`NAZWA`) AGAINST ('".$query_string_where."') AND JEDNOSTKA.ID_JEDNOSTKI = ARTYKUL.ID_JEDNOSTKI AND CENA_ARTYKULU.ID_ARTYKULU = ARTYKUL.ID_ARTYKULU AND ARTYKUL.ID_KATEGORII = KATEGORIA_ARTYKULU.ID_KATEGORII AND KATEGORIA_ARTYKULU.ID_KATEGORII = ARTYKUL.ID_KATEGORII AND ARTYKUL.RODZAJ = 'Towar' AND ARTYKUL.ZABLOKOWANY =0 AND CENA_ARTYKULU.ID_CENY =".$id_ceny." AND ARTYKUL.ID_ARTYKULU <>0 GROUP BY `KATEGORIA`, `ID_ARTYKULU` ORDER BY `licznik_waznosci` DESC LIMIT 0, 200
ale wyniki wyswietlaja mi się np tak:
Kod
SIECI 6398 ROUTER ASUS WL-600G/13/P_EU szt. 0.000000 240.9000 7.64889669418335
modem/switch 5745 ROUTER EDIMAX BR-6104K 1X WAN 4X LAN szt. 0.000000 77.4500 5.01729488372803
modem/switch 5306 ROUTER ALLIEDT AT-AR415S VPN 1PIC SEC szt. 1.000000 1174.0000 4.96332025527954
modem/switch 5900 ROUTER D-LINK DSL-2500U ADSL (...) szt. 0.000000 72.9500 4.91049480438232
monitory 5863 PANEL ASUS MM17DE-B szt. 7.000000 491.4000 2.60508131980896
obudowy 6409 OBUDOWA ASUS TA-951 350W szt. 3.000000 143.0000 2.57644033432007
inne 6034 CZYTNIK KART ASUS FRONTLINKER(...) szt. 2.000000 122.9500 2.57644033432007
obudowy 6408 OBUDOWA ASUS TA-881 350W szt. 3.000000 115.5000 2.57644033432007
płyta głowna 4560 ASUS P5W DH DELUXE S775 2XGBL WI-FI szt. 2.000000 433.6100 2.54842257499695
notebook 6261 ASUS X50N TUR55X2/1GB/160GB/(...) szt. 0.000000 2171.3100 2.52100729942322
płyta głowna 6110 ASUS P5B-MX I945GZ S775 DDR2 PCI szt. 10.000000 162.3000 2.52100729942322
modem/switch 5745 ROUTER EDIMAX BR-6104K 1X WAN 4X LAN szt. 0.000000 77.4500 5.01729488372803
modem/switch 5306 ROUTER ALLIEDT AT-AR415S VPN 1PIC SEC szt. 1.000000 1174.0000 4.96332025527954
modem/switch 5900 ROUTER D-LINK DSL-2500U ADSL (...) szt. 0.000000 72.9500 4.91049480438232
monitory 5863 PANEL ASUS MM17DE-B szt. 7.000000 491.4000 2.60508131980896
obudowy 6409 OBUDOWA ASUS TA-951 350W szt. 3.000000 143.0000 2.57644033432007
inne 6034 CZYTNIK KART ASUS FRONTLINKER(...) szt. 2.000000 122.9500 2.57644033432007
obudowy 6408 OBUDOWA ASUS TA-881 350W szt. 3.000000 115.5000 2.57644033432007
płyta głowna 4560 ASUS P5W DH DELUXE S775 2XGBL WI-FI szt. 2.000000 433.6100 2.54842257499695
notebook 6261 ASUS X50N TUR55X2/1GB/160GB/(...) szt. 0.000000 2171.3100 2.52100729942322
płyta głowna 6110 ASUS P5B-MX I945GZ S775 DDR2 PCI szt. 10.000000 162.3000 2.52100729942322
a chciałbym, żeby wyświetlały się tak:
Kod
SIECI 6398 ROUTER ASUS WL-600G/13/P_EU szt. 0.000000 240.9000 7.64889669418335
modem/switch 5745 ROUTER EDIMAX BR-6104K 1X WAN 4X LAN szt. 0.000000 77.4500 5.01729488372803
modem/switch 5306 ROUTER ALLIEDT AT-AR415S VPN 1PIC SEC szt. 1.000000 1174.0000 4.96332025527954
modem/switch 5900 ROUTER D-LINK DSL-2500U ADSL (...) szt. 0.000000 72.9500 4.91049480438232
monitory 5863 PANEL ASUS MM17DE-B szt. 7.000000 491.4000 2.60508131980896
obudowy 6409 OBUDOWA ASUS TA-951 350W szt. 3.000000 143.0000 2.57644033432007
obudowy 6408 OBUDOWA ASUS TA-881 350W szt. 3.000000 115.5000 2.57644033432007
inne 6034 CZYTNIK KART ASUS FRONTLINKER(...) szt. 2.000000 122.9500 2.57644033432007
płyta głowna 4560 ASUS P5W DH DELUXE S775 2XGBL WI-FI szt. 2.000000 433.6100 2.54842257499695
płyta głowna 6110 ASUS P5B-MX I945GZ S775 DDR2 PCI szt. 10.000000 162.3000 2.52100729942322
notebook 6261 ASUS X50N TUR55X2/1GB/160GB/(...) szt. 0.000000 2171.3100 2.52100729942322
modem/switch 5745 ROUTER EDIMAX BR-6104K 1X WAN 4X LAN szt. 0.000000 77.4500 5.01729488372803
modem/switch 5306 ROUTER ALLIEDT AT-AR415S VPN 1PIC SEC szt. 1.000000 1174.0000 4.96332025527954
modem/switch 5900 ROUTER D-LINK DSL-2500U ADSL (...) szt. 0.000000 72.9500 4.91049480438232
monitory 5863 PANEL ASUS MM17DE-B szt. 7.000000 491.4000 2.60508131980896
obudowy 6409 OBUDOWA ASUS TA-951 350W szt. 3.000000 143.0000 2.57644033432007
obudowy 6408 OBUDOWA ASUS TA-881 350W szt. 3.000000 115.5000 2.57644033432007
inne 6034 CZYTNIK KART ASUS FRONTLINKER(...) szt. 2.000000 122.9500 2.57644033432007
płyta głowna 4560 ASUS P5W DH DELUXE S775 2XGBL WI-FI szt. 2.000000 433.6100 2.54842257499695
płyta głowna 6110 ASUS P5B-MX I945GZ S775 DDR2 PCI szt. 10.000000 162.3000 2.52100729942322
notebook 6261 ASUS X50N TUR55X2/1GB/160GB/(...) szt. 0.000000 2171.3100 2.52100729942322
czyli jeśli już wystąpi jakaś kategoria, to żeby wyświetlić wszystkie artykuły w tej kategorii.
Czy da się w ogóle to zrobić w MySQL'u, czy trzeba to oprawiać już w php?