![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
otóż mam skrypt który pobiera mi 10 najpopularniejszych wpisów z bazy mysql przy pomocy mysql_fetch_assoc i następnie wrzuca to wszystko ładnie w tabelce. Z tym akurat nie mam problemów, ale chciałem żeby jeszcze numerowało w tabelce te wszystkie wyswietlane wpisy od 1 do 10 i tutaj mam problem bo niestety nie mam zielonego pojęcia co trzeba użyć aby mi to ponumerowało. Mógłby ktoś mi pomóc? Z góry wielkie dzięki. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Zadeklaruj $i=1, Wstaw ją do petli, która wyświetla wpisy - wypisz sovie jej zawartość tam, gdzie chcesz, a na koniec pętli inkrementuj ($i++)
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
O wielkie dzięki...
Btw. Czasami moja inteligencja, a raczej jej brak czasami mnie zniewala ![]() Takie to proste, a ja nie wiadomo jak kombinowałem ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 26.02.2011 Skąd: Bieruń Ostrzeżenie: (0%) ![]() ![]() |
A jak zrobić, żeby na kolejnej stronie była kontynuacja numerowania, jeśli wyniki zapytania wyświetlają się na każdej stronie po 10?
Wymyśliłam coś takiego: CODE //$nr - nr porządkowy //$start - rekord od którego rozpoczyna się wyświetlanie wyników if ($start == 0) {$nr = 0;} else { if ($start == 10) {$nr = 10;} else { if($start == 20) $nr = 20;} } Ale wiem, że coś takiego nie może być i zastanawiałam się nad jakąś pętlą ale nie mam pojęcia jak ją zrobić? Jest ktoś w stanie mi pomóc?? ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Masz przecież zmienną page (aktualna strona ) do tego ilość na stronie (10) i licznik (1,2,3 ... , 10) - proste zadanie arytmetyczne i masz gotowe.
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 26.02.2011 Skąd: Bieruń Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłam pętlę tak jak zasugerowałeś, ale niestety nie działa, dalej pojawia się na każdej stronie numeracja 1 do 10.
A pętlę zrobiłam taką i w takie miejsce wcisnęłam, ale nie wiem czy dobrze to wszystko mam zrobione... ![]() ![]() CODE $nr=0; for ($current_page = 1; $current_page<=10; $current_page++) { $nr = ($current_page - 1) * 10; while ($row = mysqli_fetch_array($wynik, MYSQL_ASSOC) ) { $nr++; echo '<tr> <td algin="left">' . $nr . '</td> ... //reszta tabeli } |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od "detalu na marginesie": Po co masz instrukcję: $nr=0;
skoro za chwilę przypisujesz tej zmiennej inną wartość? A co do prawidłowości numeracji: Jak sądzę Melkorn miał na myśli, że zmienna $current_page jest numerem bieżącej strony (grupy rekordów, które wyświetlasz w danym momencie). Ty natomiast ze zmiennej $current_page zrobiłaś zmienną sterującą pętli. Najpierw ustawiasz ją na 1, a potem w pętli zwiększasz aż do 10. Nie o to chodzi. Z zasady, ta zmienna powinna być: - ustawiana na 1 na początku (gdy w query_stringu nie ma okreslenia tej zmiennej - wyświetlasz 1-szą grupę rekordów (np. pierwsze 10)), - ustawiana na podstawie linku "następna strona" lub "poprzednia strona" (zależnie od tego co kliknięto). Na podstawie tej zmiennej powinnaś wyliczać nie tylko numer do pisania w polu numeracji, ale także wartości do frazy LIMIT w kwerendzie (aby sięgać do wyświetlenia stosowną porcję rekordów). Ten post edytował Valdi_B 7.03.2011, 19:51:36 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 26.02.2011 Skąd: Bieruń Ostrzeżenie: (0%) ![]() ![]() |
W końcu mi się udało ! Wielkie dzięki za naprowadzenie mnie na rozwiązanie!
![]() Ps. A jeśli chodzi o "detal na marginesie" to myślałam, że trzeba przed pętlą zerować zmienne, dlatego mi się to wzięło.. ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:42 |