Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z dodaniem wypunktowania do listy
Forum PHP.pl > Forum > Przedszkole
-Mati-
Witam,

Mam taki skrypt, który wyświetla notowania radiowe:

  1. $tytul="";
  2. $wykonawca="";
  3. $line="";
  4.  
  5.  
  6. $sql = 'SELECT wykonawca, tytul, id FROM `radio_eska`;' ;
  7. $resultx = mysql_query($sql);
  8.  
  9.  
  10. if(mysql_num_rows($resultx) > 0) {
  11.  
  12. echo '<ul class="list_files">';
  13. while($row = mysql_fetch_assoc($resultx))
  14.  
  15. {
  16. $row['tytul']= iconv('iso-8859-2','utf-8',$row['tytul'] );
  17. $row['wykonawca']= iconv('iso-8859-2','utf-8',$row['wykonawca'] );
  18.  
  19.  
  20. $row['tytul'] = $row['tytul'] .' - '.$row['wykonawca'];
  21.  
  22.  
  23. $max_length = 27;
  24.  
  25. $new_link = $row['tytul'];
  26. if (strlen($new_link) > $max_length) {
  27. $new_link = substr($new_link, 0, $max_length) . ' (...)';
  28.  
  29. }
  30.  
  31. $row['tytul'] = plCharset2($row['tytul']);
  32.  
  33. echo '<li><span class="bullet">1</span><a style="color:#fff" target="_blank" href="http">'
  34. .$new_link.'</a></li>' ;
  35. }
  36.  
  37. echo '</ul>';
  38.  
  39. }



Skrypt wykonuje się zawsze 20 razy, aby wyświetlić wszystkie utwory danego notowania, jednak nie wiem jak ustawić numerację wypunktowań.
Wiem, że można to robić automatycznie ustawiając odpowiedni list-style-type , ale nie o to mi chodzi, chciałbym po prostu aby fragment:

  1. <span class="bullet">1</span>


był automatycznie inkrementowany po każdym przejściu pętli, dzięki czemu osiągnę wypunktowanie od 1 do 20, jednak nie wiem jak to w tym wypadku zrobić.
Próbowałem wstawić tam pętlę for (od 1 do 20), ale wtedy to w ogóle zaczynają się dziać dziwne rzeczy i nie mogę osiągnąć zamierzonego efektu.

Jak więc spowodować w prosty sposób, aby skrypt przy każdym przejściu pętli zwiększał parametr w <span class="bullet"></span> questionmark.gif

peter13135
Daj przed pętlą while:
  1. $licznik = 1;



a w tej pętli zrób tak:
  1. echo '<li><span class="bullet">' . $i++ . '</span><a style="color:#fff" target="_blank" href="http">'.$new_link.'</a></li>' ;
-Mati-
Prawie działa :]
Tylko przy 1 rekordzie nie dostaję żadnego numerka dopiero kolejne są ponumerowane od 1, tzn tam gdzie ma być 1 jest pusto, gdzie ma być2 jest 1 itd.
Próbowałem zmienić licznik=1 na 0 ale nic to nie zmieniło.
Jak to poprawić ?
peter13135
qrdę biggrin.gif

taki głupi błąd i go nie widzisz ?
zamien $i na $licznik albo odwrotnie biggrin.gif
-Mati-
Zmieniłem Twój licznik = 1 na $i=1;
i jest gitara smile.gif
Dzięki za pomoc !
-Mati-
Jeszcze mam takie pytanko:
Jak zmusić pętle while, żeby przebiegła tylko 5 razy, tzn wyświetliła tylko 5 zamiast 20 (wszystkie) wyników ?
thek
Zrób na końcu pętli while IF, który w momencie gdy spełniony zostanie warunek wykona break; i wyjdzie z pętli tym samym.
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.