Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] numerowanie wpisów w tabelce z danymi z tablicy
Forum PHP.pl > Forum > Przedszkole
Maq2007
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.
Cysiaczek
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.
Maq2007
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
sinke
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)
melkorm
Masz przecież zmienną page (aktualna strona ) do tego ilość na stronie (10) i licznik (1,2,3 ... , 10) - proste zadanie arytmetyczne i masz gotowe.
sinke
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
}

Valdi_B
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).
sinke
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.