![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 13.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam pewną tabelę zawierającą nazwę oraz liczbę wyświetleń, chciałbym z niej wyświetlić 10 rekordów z największą liczbą wyświetleń posortowanych alfabetycznie po nazwie. Zapytaniem:
otrzymuję 10 rekordów z największą liczbą wyświetleń, tylko chciałbym żeby te rekordy były już posortowane alfabetycznie po nazwie (a nie po wyświetleniach), w jaki sposób to osiągnąć? Pozdrawiam ![]() -------------------- <?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.'); ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, czy to, co napiszę, nie wywali Ci błędu, ale spróbuj tak:
Ten post edytował Grzyw 24.03.2008, 11:51:50 -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 13.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety wywala błąd:
Kod This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' Czyli nie można pobrać limitowanej ilości w podzapytaniu:/ Zostaje posortować już w PHP zwrócone rekordy (zależy mi żeby były w jakiejkolwiek innej kolejności tylko nie posortowane po liczbie wyświetleń), jak to zrobić żeby było jak najbardziej optymalne? Ten post edytował michael_13 24.03.2008, 12:12:26 -------------------- <?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.'); ?> |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W PHP:
Ten post edytował Grzyw 24.03.2008, 12:17:43 -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 13.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tylko jest problem bo z bazy wyciągam więcej niż 2 kolumny, czyli zastosowanie zwykłej tablicy odpada, trzeba tablicę asocjacyjna, czyli:
I jak to posortować po nazwie? Coś mi się zdaje, że w złą stronę idę bo zbyt skomplikowane rozwiązanie się robi z tego (i kolejne dodatkowe pętle itd) :/ hmm musi być jakieś proste rozwiązanie ![]() EDIT A może zrobić to 2 zapytaniami, w pierwszym zapytaniu pobrać same ID dla pozycji z największą liczbą wyświetleń a potem kolejne zapytanie z które wyświetli posortowane po nazwie rekordy o ID z pierwszego zapytania? Ten post edytował michael_13 24.03.2008, 12:43:50 -------------------- <?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.'); ?> |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dlatego podałem Ci przykład, żeby nie robić dwuwymiarowej tablicy.
Ale skoro taką już masz, to: http://pl2.php.net/function.array-multisort Tak na dobrą sprawę, wyciągnięcie danych wielowymiarowych i skorzystanie z funkcji array_multisort() to rozwiązanie najbardziej optymalne. Ten post edytował Grzyw 24.03.2008, 12:45:05 -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 13.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wiec ogólne rozwiązanie to:
zapytanie:
w PHP sortujemy po nazwie:
Cytat Tak na dobrą sprawę, wyciągnięcie danych wielowymiarowych i skorzystanie z funkcji array_multisort() to rozwiązanie najbardziej optymalne. Mam nadzieję, że masz racje, nie mam już czasu sprawdzać sposobu z dwoma zapytaniami (niby taki banał posortować a zajął mi tyle czasu..) więc zostanę przy takim sortowaniu. Pozdrawiam. Ten post edytował michael_13 24.03.2008, 13:48:21 -------------------- <?php
die ('Wiedza sama w sobie nie ma żadnej wartości. Cenną czyni ją jej STOSOWANIE. Innymi słowy, świat nie odpłaca Ci za to, co wiesz. Świat odpłaca Ci za to, co robisz.'); ?> |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 12:45 |