![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Piszę skrypt, w którym wyniki będą wyświetlane w kolejności 1. Wg. id (DESC) 2. A następnie wg. typu.
Działa jak należy. Ale gdy dodam, aby sortował jeszcze wg typu, to nie działa
Kolumna "type" wartości 0 i 1. Czyli w tym konkretnym wypadku chciałbym aby dane były wyswietlane w kolejnosci od najnowszego id, a później te z type = 1. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To raczej
(...), type DESC -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@darko
tak, przepraszam za błąd. Tyle, że takie kody też nie działa:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pomiędzy order i limit spróbuj dodać jeszcze group by id, powinno działać.
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Gdzie konkretnie? Próbowałem wieelu kombinacji ale nie wychodziło
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Niestety wyskakuje błąd:
Cytat Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pnw\index.php on line 74
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Pomysl, a nie strzelaj...
SELECT * FROM $tableName ORDER BY id, type DESC GROUP BY id LIMIT $start, $limit 1. Czy dobrze zapisales zmienna $tableName? 2. DESC dajesz po id, type 3. Coś mi ten Twój "LIMIT" podejrzanie wyglada. Łatwiej by było gdybyś dał caly kod z tymi zmiennymi... 4. * zamien na nazwę kolumny ![]() -------------------- Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej po mysql_query(...) daj or die(mysql_error())
Od razu dojdziesz, gdzie w zapytaniu masz błąd. @modern-web Twoje zapytanie posortuje rekordy najpierw rosnąco po id, a później malejąco po type, jeżeli zadziała. DESC, czyli rodzaj sortowania możemy dać po każdej nazwie sortowanej kolumny. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@mortus
Wyskoczyło: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY adv_id LIMIT 0, 4' at line 1 Przy kodzie jaki podał darko kod:
@modern-web zamiana * na nazwe kolumny nic nie dała Ten post edytował Manfred 5.04.2010, 23:34:44 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ach, najpierw group by następnie order by czyli:
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@darko, teraz to już w ogóle wyświetla mi od najmniejszego id
![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Przykład 1
Zapytanie wybierze nam 10 ostatnio dodanych reklam i posortuje je według adv_premium. Przykład 2 To zapytanie najpierw posortuje nam reklamy począwszy od najnowszej do najstarszej, później według adv_premium, a na końcu ograniczy ich liczbę do 10. Zapytanie działa zupełnie inaczej niż zapytanie z przykładu 1. Przykład 3 Zapytanie to zadziała dokładnie tak samo, jak zapytanie z przykładu 2. Różnica pomiędzy zapytaniem 1, a pozostałymi dwoma jest taka, że drugie zapytanie wybierze nam przede wszystkim te reklamy, które "zostały dodatkowo opłacone" (adv_premium=1) i nie muszą być one najnowsze. Zapytanie 1 wybiera nam natomiast zawsze 10 ostatnio dodanych reklam, a dopiero później sortuje je według priorytetu tych, które "zostały dodatkowo opłacone". Zapytania przedstawione w poprzednich postach nie będą działać, ponieważ sortowanie klucza głównego ma bardzo wysoki priorytet i wymusza taką, a nie inną kolejność. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 21.03.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@mortus, kawał dobrej roboty. Działa. Wielkie dzięki
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:05 |