Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z porcjowaniem wyników
Forum PHP.pl > Forum > PHP
dellla
mam problem z porcjowanie wyników wyciaganych z mysql , plik jest zassany z jedej ze stron z pomoca jednak tam mi nikt nie odpowiada . Z baza współpracjue dobrze jednak wyswietla tylko 2 wyniki i nie dziala ni jak klikne na next i inne. pilk wyglada tak:
  1. <?php
  2. $baza = mysql_connect(&#092;"localhost\", \"kuba\", \"stokrotka\");
  3. mysql_select_db(&#092;"sklep\",$baza);
  4.  
  5. function pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a) {
  6. $l_odp_podz = intval($l_odp / $l_odp_nastronie);
  7. $l_odp_podz_mod = $l_odp % $l_odp_nastronie;
  8. if ($l_odp_podz_mod>0) $l_odp_podz++;
  9. if ($a<0) $a=0; 
  10. if ($a>=$l_odp_podz) $a=$l_odp_podz-1;
  11. $start = $a-1;
  12. if ($a>0) {$pop=&#092;"<a href=\"\".$skrypt.\"a=$start\">&lt;&lt;&lt;
  13. poprzednia</a> - &nbsp;&#092;";}
  14. else {$pop = &#092;"<font color=gray>&lt;&lt;&lt; poprzednia </font> - &nbsp;\";}
  15. if ($a<$l_odp_napasku) {$koniec = $l_odp_napasku*2+1;}
  16. else {$koniec = $a+$l_odp_napasku+1;}
  17. if ($a<=$koniec-$l_odp_napasku) {$star=$a-$l_odp_napasku;}
  18. if ($a>=$l_odp_podz-$l_odp_napasku) {$star=$l_odp_podz-$l_odp_napasku*2-1;}
  19. if ($koniec>$l_odp_podz) $koniec = $l_odp_podz;
  20. if ($star<0) $star=0;
  21. for ($i=$star; $i<$koniec; $i++) {
  22. if ($i <> $a) { $pasek .= &#092;"<a href=\"\".$skrypt.\"a=$i\">\";}
  23. else { $pasek .= &#092;"<font color=red><b>\"; }
  24. if ($l_odp_podz<>1) {$pomocniczy = $i+1;}
  25. if ($i<>$a) { $pasek .= &#092;"$pomocniczy</a> &nbsp;\"; }
  26. else {$pasek .= &#092;"$pomocniczy</b></font> &nbsp;\";}
  27. }
  28. $dalej = $a+1;
  29. if ($a<$l_odp_podz-1) 
  30.  {$nas=&#092;"- <a href=\"\".$skrypt.\"a=$dalej\">nastepna &gt;&gt;&gt; </a>\";}
  31. else { $nas = &#092;"- <font color=gray>nastepna &gt;&gt;&gt; </font>\";}
  32. if ($pomocniczy>0) {$br= &#092;"<br> $pop $pasek $nas\"; }
  33. echo &#092;"<center> znalezionych: <b>$l_odp</b> na <b>$l_odp_podz</b> 
  34. stronach $br</center>&#092;";
  35. }
  36.  
  37. $l_odp_nastronie=2;
  38. $l_odp_napasku=8;
  39. $skrypt=&#092;"index.php?\";
  40.  
  41.  
  42. $wynik = mysql_fetch_array(mysql_query(&#092;"SELECT COUNT(*) from osoby\"));
  43. $l_odp = $wynik[0];
  44.  
  45.  
  46. $start=$a*$l_odp_nastronie;
  47. $wynik = mysql_query(&#092;"SELECT * from osoby LIMIT
  48. $start,$l_odp_nastronie&#092;");
  49. mysql_close($baza);
  50.  
  51.  
  52. pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a);
  53.  
  54. $wierszy = mysql_num_rows($wynik);
  55. $pol = mysql_num_fields($wynik);
  56. for ($i=0;$i<$wierszy;$i++) {
  57. $wiersz = mysql_fetch_row($wynik);
  58. for ($j=0;$j<$pol;$j++) echo $wiersz[$j].&#092;" \";
  59. echo &#092;"<br>\";
  60. }
  61.  
  62. ?>
sztosz
To sprawa dla moderatorów ale skoro oni na razie tu nie zajrzeli to...

1 wyedytuj post urzywając BBCODE czyli tych znaczników nad polem textowym o tak:

  1. <?php
  2.  
  3.  
  4. $zmienna
  5.  
  6. //łatwiej się czyta kiedy jest kolorowanie składni i numeracja lini.
  7.  
  8. ?>


2 Wtedy:

a ) Nie będziesz łamał regulaminu

b ) Znajdziesz więcej osób którzy się zainteresują twoim problemem.

UPDATE
Po krótkich oględzinach dochodzę do wniosku że na pewno jest problem z cudzysłowami
linia 13:
  1. <?php
  2. if ($a>0) {$pop=&#092;"<a href=\"\".$skrypt.\"a=$start\">&lt;&lt;&lt;
  3. poprzednia</a> - &nbsp;&#092;";}
  4.  
  5. ?>

Powinno chyba wyglądać tak:
  1. <?php
  2.  
  3. if ($a>0) {$pop=&#092;"<a href=\"\".$skrypt.\"a=$start\">&lt;&lt;&lt;
  4. poprzednia</a> - &nbsp;&#092;";}
  5. //a dokładniej brak znaku \"  \" przed zamykającym cudzysłowem po 
  6.  
  7. ?>

linia 32:

  1. <?php
  2.  
  3. if ($a<$l_odp_podz-1) 
  4.  {$nas=&#092;"- <a href=\"\".$skrypt.\"a=$dalej\">nastepna &gt;&gt;&gt; </a>\";}
  5. ?>


NOTICE!!!
Urzywałem Winsyntaxa do sprawdzenia składni (kolorowanie)
Natomiast tu na stronie to inaczej wygląda pytanie czy to kolorowanie składni na stronie czy w Winsyntaxie jest do bani.

Jeżeli się gdzieś mylę to przepraszam
gkeb
Po pierwsze z Twojego kodu nie idzie sie nic dowiedziec.

Po drugie przeszukaj forum, na pewno coś znajdziesz ciekawego na ten temat.

Po trzecie masz tu maly kodzik i moze on Ci pomoże:

  1. <?php
  2.  
  3. $lista=&#092;"SELECT * FROM towar WHERE ID_kat='$kat'\";
  4. list($wszystkich)=mysql_fetch_row(mysql_query($lista));
  5. $podstron=ceil($wszystkich/$limit);// zmienna $limit okresla ilość rekordow na stronie
  6. if ($od>0)
  7. {
  8. echo &#092;"<a href=index.php?dzial=\".$dzial.\"&kat=\".$kat.\"&od=\".($od-1).\">Poprzednia</a>\";
  9. } else {
  10. echo &#092;"Poprzednia\";
  11. }
  12. for ($i=1; $i<=$podstron; $i++) {
  13. if ($i==$od-1) echo &#092;"$i\"; else echo \"<a href=index.php?dzial=\".$dzial.\"&kat=\".$kat.\"&od=\".$i.\"> \".$i.\" </a>\";
  14. }
  15. if ($od<$podstron)
  16. {
  17. echo &#092;"<a href=index.php?dzial=\".$dzial.\"&kat=\".$kat.\"&od=\".($od+1).\">Następna</a>\";
  18. }else{
  19. echo &#092;"Następna\";
  20. }
  21.  
  22. ?>
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.