Maq2007
12.08.2007, 15:58:53
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
12.08.2007, 16:01:09
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
12.08.2007, 20:29:55
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
sinke
7.03.2011, 12:11:57
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??

)
melkorm
7.03.2011, 12:14:24
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
7.03.2011, 18:56:11
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
}
Valdi_B
7.03.2011, 19:49:56
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
7.03.2011, 21:41:58
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..
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.