![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 22.06.2003 Skąd: Ostrołęka Ostrzeżenie: (0%) ![]() ![]() |
Witam
Tworze system newsów oparty o MySQL. Chciałbym w jednym zapytaniu wyciągnąć rekordy w ten sposób, aby najpierw wyświetliły się newsy z ktegorii "HOT", później z kategorii "wiadomości", a następnie z kategorii "Sport". Każda kategoria ma oczywiście swój ID, a oprócz tego przy wyświetlaniu newsów zliczam aktualną liczbę komentarzy pod każdym artykułem - to już zrobiłem za pomocą LEFT JOIN. Nie wiem niestety jak wyświetlać w jednym zapytaniu rekordy wg kategorii tak jak mi się podoba. Poniżej zapytanie, które już stworzyłem:
Będę wdzięczny za wszelkie sugestie. -------------------- Pozdrawiam
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Odpowiedni ORDER BY. Jeśli to liczby kolejne, gdzie numery kategorii odpowiadają hot > wiadomosci > sport, to po prostu
WHERE nazwa_kolumny_kategorii IN (id_hot, id_wiadomosci, id_sport) ORDER BY nazwa_kolumny_kategorii DESC. A jeśli to jakieś losowe, niekoniecznie określone, liczby to: ORDER BY (nazwa_kolumny_kategorii, id_hot, id_wiadomosci, id_sport) -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 3 Dołączył: 9.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
jest cos takeigo jak order by filed dziala to tak
order by field(categoryid, 3, 1, 2) to ci posortuje po kolumnie categoryid i wyswietli najpierw wpisy z id kategorii 3 pozniej 1 a pozniej 2 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 16 Dołączył: 4.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
mozesz tez zrobic petle a w niej kod wyswietlajacy newsy, nazwy katergori umiescic w tablicy w odpowiednej kolejnosci
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 22.06.2003 Skąd: Ostrołęka Ostrzeżenie: (0%) ![]() ![]() |
Super rozwiązanie, dzięki
-------------------- Pozdrawiam
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:19 |