Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pasek stron
Forum PHP.pl > Forum > Przedszkole
gosienkami
mam taki poblem z wyswietlaniem pasku stronicowania a mianowicie chodzi o [ ] nawiasy ktore alarmuja na ktorej jestesmy stronie, jezeli przechodze pokoleji na nastepny to jest ok, natomiast jak klikne np na strone 4 to zaznaczenie nie działa i nie wyswietla sie link do nastepnej
  1. <?
  2. if ($start>0) {
  3.  
  4. echo "<a class=stopka href=wyswietlaniepanel.php?start=".($start-1).'&amp;fotka1=galery/'.$row['fotka1'].'&amp;nazwa='.$nazwa.'&amp;idg='.$idg.">Poprzednia</a>";}
  5.  
  6. $podstrony=floor($znaleziono/$na_stronie);
  7. if($znaleziono>$na_stronie) {
  8. echo'&nbsp|&nbsp';
  9. for($i=0; $i<$podstrony; $i++){
  10.  
  11.  if($i!=$start){
  12.  echo '<a class="stopka"href="wyswietlaniepanel.php?start='.($i*$na_stronie).'&amp;=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.'">'.($i+1).'</a> | ';
  13. }else{
  14.   echo '<a class="stopka" href="wyswietlaniepanel.php?start='.($i*$na_stronie).'&amp;=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.'">[ '.($i+1).' ]</a> | ';
  15. }
  16. }
  17. if ($start+1<$podstrony) {
  18. echo "<a class='stopka' href=wyswietlaniepanel.php?start=".($start+1).'&amp;fotka1=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.">Następna</a>";}}
  19. echo '</br>';
  20. echo '<span class="stopka">str nr :'.($start+1).' z '.$podstrony;'</span>'
  21. ?>




hmm, moze ktos zerknąc dlaczego tak sie dzieje
Kildyt
Kompletna siekanka. Trudno jest pomóc, gdy nie wiadomo co oznaczają zmienne i funkcje. Zacznij stosować poprawną tabulację! Oddzielaj kod html od php.

Wyświetlaj sobie zmienną $i i $start w pętli, przeanalizuj kod i na pewno dojdziesz do rozwiązania. Teraz trudno jest cokolwiek wywnioskować z tak zagmatwanego kodu.

  1. <?php
  2. echo '<span class="stopka">str nr :'.($start+1).' z '.$podstrony;'</span>'
  3. ?>
Dlaczego $start+1 skoro wyświetlasz id aktualnej strony?

Numerujesz strony od 0? Wyjaśnij nam co oznaczają nazwy zmiennych i zacznij stosować angielskie wyrazy.

  1. <?php
  2. echo '<a class="stopka"href="wyswietlaniepanel.php?start='.($i*$na_stronie).'&amp;=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.'">'.($i+1).'</a> | ';
  3. ?>
Wywnioskowałem, że $start to id aktualnie otwartej strony, więc dlaczego link do strony to $i*$na_stronie skoro wyświetlasz $i+1?
gosienkami
start to nr aktualnej strony:nr od zera a na_stronie=ilosc rekordow na kazdej ze stron
chodzi o to, ze jak klikam pokoleij to [] przechodzenie jest ok, natomiast jak odrazu klikne na str np 4 to przechodze na str 4 tylko nie ma tego zaznaczenia.
  1. <?
  2. //..
  3. if($i!=$start){
  4.  echo '<a class="stopka"href="wyswietlaniepanel.php?start='.($i*$na_stronie).'&amp;=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.'">'.($i+1).'</a> | ';
  5. }else{
  6.   echo '<a class="stopka" href="wyswietlaniepanel.php?start='.($i*$na_stronie).'&amp;=galery/'.$row['fotka1']. '&amp;nazwa='.$nazwa.'&amp;idg='.$idg.'">[ '.($i+1).' ]</a> | ';
  7. }
  8. ?>
sowiq
Cytat(gosienkami @ 8.03.2009, 15:57:07 ) *
start to nr aktualnej strony:nr od zera

To czemu nie linkujesz do strony, tylko do strony * ilość?
  1. <?php
  2. start='.($i*$na_stronie).'&
  3. ?>

W przypadku następna/poprzednia jest dobrze zrobione:
  1. <?php
  2. start=".($start-1).'&
  3. // [...]
  4. start=".($start+1).&
  5. ?>

Nie patrzysz jakie wartości zmiennych masz w linkach??


@Kildyt,
widywałem gorsze kody źródłowe, na których działały całkiem spore portale. Ale oczywiście nie popieram takiego pisania smile.gif A co do angielskich nazw zmiennych - po co?
gosienkami
jak zaznaczam poczegolne nr stronek . to przekazuje id aktualnej strony na jakiej jestesmy
sowiq
Tak, ale tylko przy kliknięciu Następna/Poprzednia. Napisałem Ci o tym w moim powyższym poście. Przeczytałaś chociaż?
gosienkami
tak przeczytałam, zmieniłam i dalej tak samo
Cytat(sowiq @ 8.03.2009, 18:27:07 ) *
Tak, ale tylko przy kliknięciu Następna/Poprzednia. Napisałem Ci o tym w moim powyższym poście. Przeczytałaś chociaż?
sowiq
Cytat(gosienkami @ 8.03.2009, 18:45:48 ) *
tak przeczytałam, zmieniłam i dalej tak samo
Jak wpiszesz do adresu ręcznie numer strony, to jest ok? Porównaj z tym, co pokazuje się w adresie po kliknięciu i popraw błędy.
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.