Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] numerowanie wpisów w tabelce z danymi z tablicy
Maq2007
post 12.08.2007, 15:58:53
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Cysiaczek
post 12.08.2007, 16:01:09
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.
Go to the top of the page
+Quote Post
Maq2007
post 12.08.2007, 20:29:55
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 tongue.gif
Takie to proste, a ja nie wiadomo jak kombinowałem tongue.gif
Go to the top of the page
+Quote Post
sinke
post 7.03.2011, 12:11:57
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?? smile.gif)
Go to the top of the page
+Quote Post
melkorm
post 7.03.2011, 12:14:24
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.


--------------------
Go to the top of the page
+Quote Post
sinke
post 7.03.2011, 18:56:11
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...questionmark.gif sad.gif
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
}

Go to the top of the page
+Quote Post
Valdi_B
post 7.03.2011, 19:49:56
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
Go to the top of the page
+Quote Post
sinke
post 7.03.2011, 21:41:58
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! smile.gif

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.. wink.gif
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:42