Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla numerująca
Forum PHP.pl > Forum > Przedszkole
primo
Witam,

mam taki problem...

Robię sobie TOP 10 i co miesiąc do bazy dodaję te 10 pozycji a nasępnie wyciągam je z bazy nasępującym poleceniem:

  1. <?php
  2. $sql = &#092;"SELECT * FROM top WHERE miesiac = '\".$miesiac.\"' AND rok = '\".$rok.\"' order by topID\";
  3. $result = mysql_query($sql) or die(mysql_error());
  4. ?>


wyświetlam je pętlą:

  1. <?php
  2. while ($row = mysql_fetch_row ($result)) {
  3. $topID = $row[0];
  4. $tytul_pl = $row[1];
  5. $miesiac = $row[2];
  6. $tytulID = $row[3];
  7. $rok = $row[4];
  8.  
  9. echo $spacja . $tytul_pl;
  10.  
  11. echo &#092;"<br>\";
  12. }
  13. ?>


ale dodatkowo chciałbym aby pętla dodawała numer kolejny do rekordu. Wyciągnie ich tylko 10 bo tyle jest wpisów odpowiadających danemu miesiącowi, ale aby dodatkowo nadała numery od 1-10.

pozdrawiam
scanner
  1. <?php
  2. $iIteration = 0;
  3. while ( $row = mysql_fetch_row ($result), $iIteration++ )
  4. {
  5. echo $iIteration.$spacja.$row[1].'<br />';
  6. }
  7.  
  8. ?>
DeyV
nie jestem pewien, czy dobrze zrozumiałem.
  1. <?php
  2.  
  3. $ii= 1;
  4. while ($row = mysql_fetch_row ($result)) {
  5. $topID = $row[0];
  6. $tytul_pl = $row[1];
  7. $miesiac = $row[2];
  8. $tytulID = $row[3];
  9. $rok = $row[4];
  10.  
  11. echo $spacja . $ii. '. ' . $tytul_pl;
  12.  
  13. echo &#092;"<br>\";
  14. ++$ii; 
  15. }
  16. ?>

blink.gif

ps. po co to przepisywanie tablicy do zmiennych ?
primo
dzięki chłokapki za pomoc. W rozwiązaniu scannera wkradł się jakiś błąd w linii 3. Rozwiązanie DeyV wporzo.
Co rozumiesz przez to -- ps. po co to przepisywanie tablicy do zmiennych ? -- ?
scanner
  1. <?php
  2. $iIteration = 0;
  3. while ( $row = mysql_fetch_row ($result) )
  4. {
  5. $iIteration++;
  6. echo $iIteration.$spacja.$row[1].'<br />';
  7. }
  8.  
  9. ?>
Przedobrzyłem smile.gif Teraz powinno być OK.

Co do przepisywania zmienych - spójrz na echo w moim kodzie. Korzystaj bezpośrednio z tablic zamiast przepisywac je do pojedynczych zmiennych.
primo
no tak, ale chyba nie jest to jako tako błędem? Łatwiej mi w ten sposób odwoływać się do czegoś co nazwałem po swojemu.
scanner
Błedem jako takim nie jest, ale jest:

1. Marnowaniem pamięci
2. Otwarciem się na trudne do zidentyfikowania czeskie błedy w kodzie
3. Utrudnianiem sobie życia.
4. Zamiast mysql_fetch_row" title="Zobacz w manualu PHP" target="_manual możesz użyc mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual i już masz ładną tablicę asocjacyjną.
rogrog
Cytat(scanner @ 2004-12-13 14:21:34)
4. Zamiast mysl_fetch_row możesz użyc mysql_fetch_array i już masz ładną tablicę asocjacyjną.

no tak, konkretnie to:
- mysql_fetch_row masz tablicę w której indeksami są numery,
- mysql_fetch_assoc (albo mysql_fetch_array(..., MYSQL_ASSOC)) masz tablicę asocjacyjną w której indeksami są nazwy pól,
- a przy zwykłym mysql_fetch_array bez drugiego parametru masz tablicę łączącą dwie wyżej wymienione... a po co marnować pamięć na podwójne nazwy - lepiej zdecydować się na jeden sposób nazewnictwa

smile.gif
primo
do tego tematu inna możliwość.

Mam powiedzmy 150 rekordów z bazy. Dzielę to na podstrony po 20 sztuk. Pierwszą 20-tkę numeruje normalnie, ale chciałbym aby już drugą pokazał jako 21, 22, 23 itd. a mnie teraz numeruje zaś od 1-20.

zmiany muszę wprowadzić w skrypcie stronnicującym czy też wystarczy w tym numeratorze questionmark.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.