Temat: Odczytanie większej ilości wyników z bazy mysql

Potrzebuje podzielić wyniki, jakie pobiorę z bazy mysql.

Zapytaniem:
SELECT `id`, `twoja_nazwa`, `lang` FROM `members` ORDER BY `id` DESC LIMIT 21

odczytuję z bazy ostatnich 21 rekordów.

Jak to zrobić, żeby mieć je podzielone na partie po 7 sztuk.
Czy wykonać 3 zapytania do bazy. Jeśli tak, to jakie?

Czy może w PHP da się je obrobić, aby mieć takie paczuszki?

Chcę te dane wyświetlić w 3 miejscach na stronie.

konto usunięte

Temat: Odczytanie większej ilości wyników z bazy mysql

cały wynik do arraya, a dalej to prosta matematyka w pętli (pojedynczej) -> przepisujesz rekordy do paczek na podstawie numeru rekordu w tablicy początkowej

dla tak wielkiej ilości danych filozofii wielkiej nie da się wymyśleć

Temat: Odczytanie większej ilości wyników z bazy mysql

SQL + paginacja

Zazwyczaj wystarczy użyć dyrektywy LIMIT, ale np. w Oracle już robi się to inaczej.

Możesz też np. załadować wszystko i podzielić na kilka divów, które będzie za pomocą js'a pokazywał/ukrywał, czy przewijał..

Wszystko zależy od implementacji

konto usunięte

Temat: Odczytanie większej ilości wyników z bazy mysql

Oczywiście że pobrać z bazy 21 a potem je podzielić w PHP. Dane z bazy będziesz miał w formie tablicy, więc pozostaje tylko kwestia jej podziału na 3 inne tablice.
Jarek Tkaczyk

Jarek Tkaczyk www.GoHolidays.pl -
siła napędowa

Temat: Odczytanie większej ilości wyników z bazy mysql

Arkadiusz Zielazny:
Potrzebuje podzielić wyniki, jakie pobiorę z bazy mysql.

Zapytaniem:
SELECT `id`, `twoja_nazwa`, `lang` FROM `members` ORDER BY `id` DESC LIMIT 21

odczytuję z bazy ostatnich 21 rekordów.

Jak to zrobić, żeby mieć je podzielone na partie po 7 sztuk.
Czy wykonać 3 zapytania do bazy. Jeśli tak, to jakie?

Czy może w PHP da się je obrobić, aby mieć takie paczuszki?

Chcę te dane wyświetlić w 3 miejscach na stronie.

Na http://dev.mysql.com/doc/refman/5.0/en/select.html znajdziesz opis LIMIT
Możesz 3 zapytaniami wyciągnąć pozycje 1-7: [...] LIMIT 7, poz 8-14 [...] LIMIT 7,7 oraz poz 15-21 [...] LIMIT 14,7

Możesz też zrobić to w PHP po jednym zapytaniu SQL.
Robert M.

Robert M. Webmaster / Drupal
Developer

Temat: Odczytanie większej ilości wyników z bazy mysql

Czy w ogóle potrzebne jest to dodatkowe dzielenie?
Skoro mamy konkretną niezmienną liczbę rekordów, to zamiast zabierać dodatkowe miejsce w pamięci na dodatkowe tablice (wiem, wiem, przy tak ogromnej ilości danych to niezauważalne ;P ) i wymyślanie jeszcze dodatkowych nazw na zmienne tablicowe, to bym po prostu wyświetlał z jednej tablicy z odpowiednimi indeksami.

konto usunięte

Temat: Odczytanie większej ilości wyników z bazy mysql

Robert M.:
Czy w ogóle potrzebne jest to dodatkowe dzielenie?
Skoro mamy konkretną niezmienną liczbę rekordów, to zamiast zabierać dodatkowe miejsce w pamięci na dodatkowe tablice (wiem, wiem, przy tak ogromnej ilości danych to niezauważalne ;P ) i wymyślanie jeszcze dodatkowych nazw na zmienne tablicowe, to bym po prostu wyświetlał z jednej tablicy z odpowiednimi indeksami.

spoko dało by tak radę tylko zrób RANK_OVER po stronie MySQL-a :)

Następna dyskusja:

wynik z bazy mysql na podst...




Wyślij zaproszenie do