Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Stronnicowanie według innych kryteriów
Seba17
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Wiec sprawa jest taka ze jezeli chciałbym zrobic stronnicowanie to nie ma problemu bo uzyłbym do tego Id i nie było by problemu tyko ze ja chce zrobic stronnicowanie i wyswietlanie na zasadzie ze jest to spis alfabetyczny według tytułu lub nicku uzytkownika i zeby na stronie wyswietlało 20 wyników i chciało przejsc do kolejnego. Coż na jednej stronie to nie problem ale na kilka to ja juz pomysłu nie mam dlatego czekam na jakies sugeestie sorka jezeli temat sie juz powtórzył ale go nie znalazłem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
windman
post
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


sposobów jest kilka...

- pobierasz dane z bazy już posortowane ORDER BY 'imie'
dodatkowo LIMIT ustawi Ci ile rekordów ma pobrać

- pobierasz wszystkie dane z bazy nieposortowane i ładujesz do tablicy $dane[imie], $dane[nazwisko]... i sortujesz tablice przed wyświetleniem.
tu masz o sortowaniu: http://www.egrafik.pl/porady/php-jak-sorto...-i-asocjacyjne/

polecam 2 sposób, do tego łatwo dorobisz sobie stronnicowanie.
Policzysz sobie ile jest elementów w tablicy, ustawisz ile chcesz mieć wyświetlonych wpisów na jednej stronie i już.

poradzisz sobie z resztą?

pozdrawiam
Go to the top of the page
+Quote Post
Seba17
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Coż nie wiem czy sobie poradze ale bede probował coż jezeli dostane gotowe rozwiazanie to sie nic nie naucze. Ciesze sie ze chociaz dostałem rade i pomysł a teraz sproboje cos pokombinowac jak nie bedzie wychodzic to poprosze o jeszcze jakas rade. Coz a a na pomysł z tablicami tez wpadłem tylko ze jakos zabardzo ich nie potrafie uzyc dlatego staram sie ich nie uzywac.

Ale nic narazie dzieki za pomoc.
Go to the top of the page
+Quote Post
nowotny
post
Post #4





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Cytat(windman @ 13.02.2008, 18:19:31 ) *
polecam 2 sposób, do tego łatwo dorobisz sobie stronnicowanie.
Policzysz sobie ile jest elementów w tablicy, ustawisz ile chcesz mieć wyświetlonych wpisów na jednej stronie i już.

A ja nie polecam... po co przetwarzać tysiąc elementową tablicę jak potrzebne ci tylko 20 elementów... Pierwszy sposób jest lepszy...
Go to the top of the page
+Quote Post
Vexator
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 6
Dołączył: 28.08.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat(nowotny @ 13.02.2008, 20:34:01 ) *
A ja nie polecam... po co przetwarzać tysiąc elementową tablicę jak potrzebne ci tylko 20 elementów... Pierwszy sposób jest lepszy...

a na dodatek, jeśli jest php i mysql na osobnych serwerach, to po co wszystko przesyłać? biggrin.gif


--------------------
Pomogłem? Kliknij "pomógł" ;)
Go to the top of the page
+Quote Post
Seba17
post
Post #6





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Dobra tylko co w 1 sposobie bedzie identyfikatorem ze np strona 2 ma zacząc sie od tego a nie innego elementu questionmark.gif może jakies kawałki kodów bo z samych słow niewiele sklece.
Go to the top of the page
+Quote Post
nowotny
post
Post #7





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


No jak masz kilka stron to linki do nich robisz w sposób: strona.php?page=nr_strony+liczba_el_na stronie... i już wiesz skąd zacząć...
Go to the top of the page
+Quote Post
Vexator
post
Post #8





Grupa: Zarejestrowani
Postów: 32
Pomógł: 6
Dołączył: 28.08.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


  1. SELECT * FROM tabela ORDER BY pierwszywiersz LIMIT 0, 25


0,25 to odkąd, dokąd ma pokazywać

Ten post edytował Vexator 13.02.2008, 21:01:38


--------------------
Pomogłem? Kliknij "pomógł" ;)
Go to the top of the page
+Quote Post
Seba17
post
Post #9





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Wiem wiem miałem o tym pisac jak wybrac nr ale poszukałem w manualu MYSQL i tez to tam znalazłem ale dzieki teraz sproboje juz cos kombinowac.

Tylko poźniej problem jest taki jak te dane wyswietlic ot co questionmark.gif

Ten post edytował Seba17 13.02.2008, 21:15:59
Go to the top of the page
+Quote Post
nowotny
post
Post #10





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Cytat(Vexator @ 13.02.2008, 20:59:49 ) *
  1. SELECT * FROM tabela ORDER BY pierwszywiersz LIMIT 0, 25


0,25 to odkąd, dokąd ma pokazywać

Nie odkąd, dokąd, tylko od kąd, ile...


Cytat(Seba17 @ 13.02.2008, 21:11:23 ) *
Tylko poźniej problem jest taki jak te dane wyswietlic ot co questionmark.gif

Że jaki niby problem...? ja nie widzę żadnego... :/
Go to the top of the page
+Quote Post
Seba17
post
Post #11





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


No dobra ja nie wiem. Probowałem czytac kombinowac ale nie znalazłem ani jak wybrać te dane i wyswietlic wiec jezeli moglibyscie dac jakis dobry kurs php gdzie te tablice sa dobrze opisane bo szczerze nie weim jak juz mam w $tablica = mysql_fetch_array($zapytanie); dane jak je wyswietlic lub jak wybrac wybrac jakies dane wiec prosiłbym o jakis kurs lub cos co pomoze mi to zrozumić.
Go to the top of the page
+Quote Post
nowotny
post
Post #12





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


http://pl.wikibooks.org/wiki/PHP/Jak_to_si...ie_wynik.C3.B3w
Go to the top of the page
+Quote Post
Seba17
post
Post #13





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Dobra cos powoli zaczynam rozumiec ale jeste troche upierdliwy i nie lubie rzeczy które same z siebie sa a jak pytam sie dlaczego sa bo tak byc musi tak wiec chciałbym jeszcze prosic o w miare obszerne wytłumaczenie jednej rzeczy


  1. <?php
  2. $query = mysql_query("SELECT `Id`, `who`, `title` FROM `wiersze`");
  3. while($array = mysql_fetch_assoc($query)) {
  4. echo '<div class="test">'; 
  5. echo '<pre />';
  6. print_r($array);
  7. echo '</div>';
  8. }
  9. ?>


Interesuje mnie najbardziej w tym kawałku kodu ta pętla skad zapytanie wie ze ma przekoczyc do kolejnego rekordu w bazie a nie czytać tego samego czy moze mi ktos to wytłumaczyc bo szczerze wiem ze tak byc musi ale jeszcze dobrze by było jakbym mogł to zrozumieć. Bede wdzieczy za w miare szczegółowe wytłumaczenie mi tego

A ha i prosiłbym taki dość przystępnym jezykiem.

Ten post edytował Seba17 14.02.2008, 19:20:54
Go to the top of the page
+Quote Post
nowotny
post
Post #14





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


Ok... załóżmy że w wyniku zapytania Mysql zwraca ci 5 rekordów... mysql_query" title="Zobacz w manualu PHP" target="_manual potrafi pobrać te rekordy ale tylko po jednym (nie pytaj mnie dlaczego winksmiley.jpg )... dlatego, żeby pobrać wszystkie rekordy musimy użyć pętli...

Teraz, zapis $array=mysql_fetch_assoc($query)) powoduje wpisanie do zmiennej $array danych jednego (z 5) rekordów... jednocześnie powoduje to przesunięcię wewnętrznego wzkaźnika w tych danych otrzymanych z bazy na drugi rekord... dzieje się to automatycznie i dzięki temu przy drugim wywołaniu funkcji mysql_fetch_assoc" title="Zobacz w manualu PHP" target="_manual pobierane są już dane drugiego rekordu, itd. aż do 5 rekordu... i teraz jeśli wywołamy funkcję mysql_fetch_assoc po raz szósty, zwróci ona nam FALSE, bo nie ma już więcej rekordów do przetworzenia... z tego właśnie korzysta pętla while, która wykonuje się dopóty, dopóki mysql_fetch_assoc zwraca jakieś konkretne dane... jak mysql_fetch_assoc zwróci FALSE pętla while się zatrzymuje... W środku pętli while możemy operować na danych jednego, konkretnego rekordu zwracanych w zmiennej $array...
Go to the top of the page
+Quote Post
Seba17
post
Post #15





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Dobrze duzo mi wytłumaczyłes ale dziwne skąd on wie ze nie ma pobierac tego samego rekordu tylko następny w pętli?? bo to mnie nurtuje najbardziej. I dziekuje bardzo za wczesniejsze wytłumaczenia.
Go to the top of the page
+Quote Post
nowotny
post
Post #16





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


No to ci napisałem przecież... wewnętrzny wskaźnik w wynikach jest przesuwany na następny rekord za każdym wywołaniem mysql_fetch_assoc...
Go to the top of the page
+Quote Post
Seba17
post
Post #17





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


Dzieki wielkie dałem rade jakos to zrobic chodz jeszcze sporo sie musiałem nagimanstykowac zeby dostosowac to do swoich wymagań ale dałem rade i dziekuje za wytłumaczenie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 16:12