![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
#edit
Jednak problem z głowy, nie doceniłem możliwości while'a ![]() Można skasować moje wypociny Helo Domyślam się, że mój problem należy raczej do podstawowych, ale już od godziny grzebię w kursach i nie umiem znaleźć nic odpowiedniego... Zrobiłem sobie licznik wyświetleń i chcę zrobić na stronie listę 10 najpopularniejszych wyników. W tym celu wyciągam po kolei dane z 4 kolumn (osobno): każdą z nich sortuję według licznika, by potem poskładać je w listę, czyli na przykład: $utwor = mysql_query("SELECT utwor FROM zespoly ORDER BY licznik DESC LIMIT 10"); potem we while'u: $row = mysql_fetch_array($utwor, MYSQL_NUM) i wynik wyświetlam za pomocą: $row[$x]; zmienna $x pochodzi z pętli for, za pomocą której wypisuję 10 najpopularniejszych wyników. To samo robię z (m.in.) 'wykonawcą' i lista wyświetla mi się na zasadzie: $row2[0] (wykonawca) - $row[0] (autor) $row2[1] (wykonawca) - $row[1] (autor) .... czyli: Black sabbath - Paranoid The clash - London Calling ... Problem jest taki, że dane te mieszają mi się, gdy licznik jest jednakowy dla obu rekordów - np konkretny 'utwór' będzie źle dopasowany z tak samo posortowanym 'wykonawcą'. Od razu powiem, że dodanie drugiego warunku sortowania nie przynosi efektów. Chcę to więc posortować za jednym zamachem, tzn zamiast pojedynczego wyciągania zrobić SELECT * FROM zespoły (...). W kursach przeczytałem, że da się potem za pomocą while'a wyciągnąć te dane - np $row[0] będzie oznaczało utwór, $row[1] będzie oznaczało zespół itd. Nie mam tylko pojęcia w jaki sposób użyć tu pętli for (może nie jest potrzebna?), by wypisać wszystkich 10 wyników, a nie tylko dane z jednego wiersza. pozdrawiam flaa Ten post edytował flaa 26.04.2011, 18:52:55 -------------------- Interpretacje tekstów piosenek, ciekawostki muzyczne o wykonawcach i ich piosenkach, tłumaczenia tekstów - sprawdź http://songfacts.pl!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:00 |