Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]stronicowanie problem
Forum PHP.pl > Forum > Przedszkole
pokrak
Wiec skrypt od wczoraj się powiększył
wyniki wyświetlają się ślicznie w formie tabelki. Lecz muszę przerobić go jeszcze na okoliczność że będzie bardzo dużo pozycji i chce, żeby wyświetlało się to po np 5 pozycji na stronie

oto kod który na chwilę obecna jest:

  1. <html>
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4.  
  5. <body bgcolor="#66E666"></body>
  6.  
  7. <html>
  8.  
  9.  
  10.  
  11. <div class="pds" id="top">
  12.  
  13.  
  14.  
  15.  
  16.  
  17. <div class="s">
  18.  
  19.  
  20.  
  21. <div class="right">
  22.  
  23.  
  24.  
  25. <div class="tekst">
  26.  
  27.  
  28.  
  29.  
  30.  
  31. <table cellspacing="0" summary="">
  32.  
  33. <thead>
  34.  
  35. <tr>
  36.  
  37. <th style="border: solid 1px #ddad08; padding:10;">1</th>
  38.  
  39. <th style="border: solid 1px #ddad08; padding:10;">2</th>
  40.  
  41. <th style="border: solid 1px #ddad08; padding:10;">3</th>
  42.  
  43. <th style="border: solid 1px #ddad08; padding:10;">4</th>
  44.  
  45. <th style="border: solid 1px #ddad08; padding:10;">5</th>
  46.  
  47. <th style="border: solid 1px #ddad08; padding:10;">6</th>
  48.  
  49. <th style="border: solid 1px #ddad08; padding:10;">7</th>
  50.  
  51. <th style="border: solid 1px #ddad08; padding:10;">8</th>
  52.  
  53. <th style="border: solid 1px #ddad08; padding:10;">9</th>
  54.  
  55. <th style="border: solid 1px #ddad08; padding:10;">10</th>
  56.  
  57. <th style="border: solid 1px #ddad08; padding:10;">11</th>
  58.  
  59. <th style="border: solid 1px #ddad08; padding:10;">12</th>
  60.  
  61. <th style="border: solid 1px #ddad08; padding:10;">13</th>
  62.  
  63. <th style="border: solid 1px #ddad08; padding:10;">14</th>
  64.  
  65. <th style="border: solid 1px #ddad08; padding:10;">15</th>
  66.  
  67. <th style="border: solid 1px #ddad08; padding:10;">16</th>
  68.  
  69. </tr>
  70.  
  71. </thead>
  72.  
  73.  
  74.  
  75. <tfoot>
  76.  
  77. <?php
  78.  
  79. if (!$szukanie || !$haslo)
  80.  
  81. {
  82.  
  83. print "nie zostało wpisane żadne hasło";
  84.  
  85.  
  86. }
  87.  
  88. $szukanie=addslashes($szukanie);
  89.  
  90. $haslo=addslashes($haslo);
  91. @$db=mysql_connect("localhost", "user", "pass");
  92. if (!$db)
  93. {
  94. print "błąd połączenia";
  95. }
  96.  
  97. mysql_query("SET NAMES 'utf8'");
  98.  
  99. $perPage = 5;
  100. if (is_numeric($_REQUEST['page'])) {
  101. $page = (int) $_REQUEST['page'];
  102. if ($page < 1) {
  103. $page = 1;
  104. }
  105. } else {
  106. $page = 1;
  107. }
  108. $start = ($page - 1) * $perPage;
  109.  
  110. $query="select * from tabela where ".$szukanie." like '%".$haslo."%' LIMIT $start, $perPage";
  111.  
  112. $result=mysql_query($query);
  113. $num_results=mysql_num_rows($result);
  114. echo htmlentities($_POST["post"], ENT_COMPAT, 'UTF-8');
  115. print "<p><h2> Ilość wyszukanych pozycji: ".$num_results."</h2></p>";
  116. for ($i=0; $i <$num_results; $i++)
  117. {
  118. $row=mysql_fetch_array($result);
  119.  
  120. ?>
  121.  
  122. <tr>
  123.  
  124.  
  125.  
  126. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["1"])?></center></td>
  127. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["2"])?></center></td>
  128. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["3"])?></center></td>
  129. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["4"])?></center></td>
  130. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["4"])?></center></td>
  131. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["6"])?></center></td>
  132. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["7"])?></center></td>
  133. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["8"])?></center></td>
  134. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["9"])?></center></td>
  135. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["10"])?></center></td>
  136. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["11"])?></center></td>
  137. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["12"])?></center></td>
  138. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["13"])?></center></td>
  139. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["14"])?></center></td>
  140. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["15"])?></center></td>
  141. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["16i"])?></center></td>
  142. </tr>
  143.  
  144. <?php
  145. $prev = $page -1;
  146. $next = $page +1;
  147.  
  148. $prevLink = $_SERVER['PHP_SELF'] . '?page=' . $prev;
  149. $nextLink = $_SERVER['PHP_SELF'] . '?page=' . $next;
  150. ?>
  151. <a href=\"tabela.php?page=".$prev."\">Poprzednia</a>
  152. <a href=\"tabela.php?page=".$next."\">Nastepna</a>
  153.  
  154.  
  155. <?php } ?>
  156.  
  157.  
  158. </tfoot>
  159.  
  160.  
  161.  
  162. </table>
  163.  
  164.  
  165.  
  166. </div>
  167.  
  168. </div>
  169.  
  170. </div>
  171.  
  172. </div>
  173.  


wyświetla mi 5 wyników tak jak chciałem lecz .. strona poprzednia następna wyświetla w ten sposób:

Poprzednia Nastepna Poprzednia Nastepna Poprzednia Nastepna Poprzednia Nastepna Poprzednia Nastepna

linki pod nimi wygladają:

http://127.0.0.1/\"tabela.php?pa...ot;\"
http://127.0.0.1/\"tabela.php?pa...ot;\"

cos pokręciłem ale nie wiem gdzie :/
nospor
Pamietasz co ci wczoraj napisalem?
Jak nie to ci przypomne:
Cytat
A dodatkowo uzywaj wlasciwego bbcode bo temat niechcący zostanie zamkniety

No, jak wiec wyrazisz chcec dostosowac sie do prosby - zapraszam na PW smile.gif

edit: otwieram i czekam na poprawe postu
thek
No tak to jest jak się błędnie miesza php z html nie widząc problemów z niewłaściwymi zamknięciami i otwarciami interpretera. Zapytania nawet nie wykonujesz! gdzie masz mysql_query pomiędzy zapytaniem a pętlą while? Zjadłeś? winksmiley.jpg Zmienne typu $szukanie czy $hasło też z powietrza się pojawiają. Człowieku, Twój kod to sito, który umieszczony na serwerze produkcyjnym aż prosi się o włam, kradzież lub zniszczenie bazy!
nospor
Cytat
Zmienne typu $szukanie czy $hasło też z powietrza się pojawiają
On ma włączone register_globals. Jakbys przeczytal jego poprzedni temat to bys wiedzial winksmiley.jpg
pokrak
ok tak wiec bbcodes poprawione
pętla wywalona (poprawione to odrazu w kodzie w pierwszym poście, korzystałem z gotowca i teraz zowazyłem ze posiada jakąś zmienna której nie mam zdefiniowanej).
Jak uporam się z kwestią stronicowanie solennie obiecuje, że zabiorę się za wyłączenie register globals i przystosowanie skryptu.
I wtedy zgłoszę sie z prośbą o popdowiedzi w kwestii ulepszenia/zabezpieczenia kodu

ok poprawiłem kod zaczyna to juz sensownie wyswietlac lecz ... nie działa

  1. <html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  3. body bgcolor="#66E666"></body>
  4. <div class="pds" id="top">
  5. <div class="s">
  6. <div class="right">
  7. <div class="tekst">
  8. <table cellspacing="0" summary="">
  9. <thead>
  10. <tr>
  11. <th style="border: solid 1px #ddad08; padding:10;">1</th>
  12. <th style="border: solid 1px #ddad08; padding:10;">2</th>
  13. <th style="border: solid 1px #ddad08; padding:10;">3</th>
  14. <th style="border: solid 1px #ddad08; padding:10;">4</th>
  15. <th style="border: solid 1px #ddad08; padding:10;">5</th>
  16. <th style="border: solid 1px #ddad08; padding:10;">6</th>
  17. <th style="border: solid 1px #ddad08; padding:10;">7</th>
  18. <th style="border: solid 1px #ddad08; padding:10;">8</th>
  19. <th style="border: solid 1px #ddad08; padding:10;">9</th>
  20. <th style="border: solid 1px #ddad08; padding:10;">10</th>
  21. <th style="border: solid 1px #ddad08; padding:10;">11</th>
  22. <th style="border: solid 1px #ddad08; padding:10;">12</th>
  23. <th style="border: solid 1px #ddad08; padding:10;">13</th>
  24. <th style="border: solid 1px #ddad08; padding:10;">14</th>
  25. <th style="border: solid 1px #ddad08; padding:10;">15</th>
  26. <th style="border: solid 1px #ddad08; padding:10;">16</th>
  27. </tr>
  28. </thead>
  29.  
  30. <tfoot>
  31. <?php
  32. if (!$szukanie || !$haslo)
  33.  
  34. {
  35. print "nie zostało wpisane żadne hasło";
  36.  
  37.  
  38. }
  39. $szukanie=addslashes($szukanie);
  40.  
  41. $haslo=addslashes($haslo);
  42.  
  43. @$db=mysql_connect("localhost", "user", "pass");
  44.  
  45. if (!$db)
  46.  
  47. {
  48.  
  49. print "błąd połączenia";
  50.  
  51.  
  52. }
  53.  
  54.  
  55. mysql_query("SET NAMES 'utf8'");
  56.  
  57. $perPage = 5;
  58.  
  59. if (is_numeric($_REQUEST['page'])) {
  60.  
  61. $page = (int) $_REQUEST['page'];
  62.  
  63. if ($page < 1) {
  64.  
  65. $page = 1;
  66.  
  67. }
  68.  
  69. } else {
  70.  
  71. $page = 1;
  72.  
  73. }
  74.  
  75. $start = ($page - 1) * $perPage;
  76.  
  77. $prev = $page -1;
  78. $next = $page +1;
  79. $prevLink = $_SERVER['PHP_SELF'] . '?page=' . $prev;
  80. $nextLink = $_SERVER['PHP_SELF'] . '?page=' . $next;
  81. echo "<a href=\"tabela.php?page=".$prev."\">Poprzednia</a>";
  82. echo "<a href=\"tabela.php?page=".$next."\">Nastepna</a>";
  83.  
  84.  
  85.  
  86. $query="select * from tabela where ".$szukanie." like '%".$haslo."%' LIMIT $start, $perPage";
  87.  
  88.  
  89.  
  90. $result=mysql_query($query);
  91.  
  92. $num_results=mysql_num_rows($result);
  93.  
  94. echo htmlentities($_POST["post"], ENT_COMPAT, 'UTF-8');
  95.  
  96. print "<p><h2> Ilość wyszukanych pozycji: ".$num_results."</h2></p>";
  97.  
  98. for ($i=0; $i <$num_results; $i++)
  99.  
  100. {
  101.  
  102. $row=mysql_fetch_array($result);
  103.  
  104.  
  105. ?>
  106.  
  107. <tr>
  108.  
  109. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["1"])?></center></td>
  110.  
  111. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["2"])?></center></td>
  112.  
  113. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["3"])?></center></td>
  114.  
  115. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["4"])?></center></td>
  116.  
  117. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["4"])?></center></td>
  118.  
  119. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["6"])?></center></td>
  120.  
  121. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["7"])?></center></td>
  122.  
  123. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["8"])?></center></td>
  124.  
  125. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["9"])?></center></td>
  126.  
  127. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["10"])?></center></td>
  128.  
  129. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["11"])?></center></td>
  130.  
  131. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["12"])?></center></td>
  132.  
  133. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["13"])?></center></td>
  134.  
  135. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["14"])?></center></td>
  136.  
  137. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["15"])?></center></td>
  138.  
  139. <td style="border: solid 1px #ddad08; padding:10;"><center><?php print stripslashes($row["16i"])?></center></td>
  140.  
  141. </tr>
  142.  
  143. <?php } ?>
  144. </tfoot>
  145. </table>
  146. </div>
  147. </div>
  148. </div>
  149. </div>


linki wyświetlają mi się "poprawnie" następna strona =2 poprzednia =0 lecz po wejściu pokazuje ze nie ma danych :/
thek
Zrób więc:
1) echo $query zaraz po tworzeniu query,
2) echo mysql_error() po $result=mysql_query($query);

Jestem niemal pewien, że zauważysz, iż coś Ci "znika" z zapytania, a tym samym masz babola.
pokrak
Cytat(thek @ 24.03.2010, 15:04:39 ) *
Zrób więc:
1) echo $query zaraz po tworzeniu query,
2) echo mysql_error() po $result=mysql_query($query);

Jestem niemal pewien, że zauważysz, iż coś Ci "znika" z zapytania, a tym samym masz babola.


DONE!
oto wynik:

select * from tabela where 1 like '%4%' LIMIT 0, 5

Cytat(thek @ 24.03.2010, 15:04:39 ) *
Jestem niemal pewien, że zauważysz, iż coś Ci "znika" z zapytania, a tym samym masz babola.


no właśnie nie widze co mi znika :/ daje różne zapytania i komunikat pokazuje:
select * from tabela where 1 like '%zapytanie%' LIMIT 0, 5
wyniki są na pierwszej stronie, lecz na następnej juz nie
thek
No to popatrz jak wyglądają te zapytania, które podpowiedziałem Ci byś sprawdził. Nie chciałem byś tylko mi podał je jak wyglądają na stronie pierwszej, ale także drugiej lub trzeciej. Bo to właśnie PO przejściu na stronę INNĄ niż pierwsza masz byka i to tam wygląd zapytania masz sprawdzić. Po co sprawdzać stronę pierwszą, skoro ona wyświetla dobrze? Ty masz problem z wyświetlaniem kolejnych i to tam powinieneś sprawdzać smile.gif
pokrak
na następnej stronie nic nie wyświetla poza:
nie zostało wprowadzone żadne hasło
i pusta tabelą

zastanawiam się jeszcze nad jedna rzeczą bo przerabiam skrypt małymi kroczkami. docelowo chciałbym, żeby to stronicowanie wyglądało:
poprzednia 1 2 3 4 następna
z kwestia poprzednia nie czynna dla pierwszego wyniku
czy to co zacząłem ma sens w tej kwestii czy trzeba się do tego inaczej zabrać
nospor
Cytat
na następnej stronie nic nie wyświetla poza:
nie zostało wprowadzone żadne hasło
i pusta tabelą
No bo przeciez nie przekazujesz już tego hasła i szukania na nastepną strone smile.gif
Tutaj o tym pisałem:
http://nospor.pl/formularz-i-stronicowanie...-stanu-n26.html
moze ci się przyda.

Cytat
zastanawiam się jeszcze nad jedna rzeczą bo przerabiam skrypt małymi kroczkami. docelowo chciałbym, żeby to stronicowanie wyglądało:
poprzednia 1 2 3 4 następna
z kwestia poprzednia nie czynna dla pierwszego wyniku
czy to co zacząłem ma sens w tej kwestii czy trzeba się do tego inaczej zabrać
Mozesz uzyc gotowych klas, ktore juz to robią. Np. moja w podpisie
pokrak
Cytat(nospor @ 25.03.2010, 09:23:19 ) *
No bo przeciez nie przekazujesz już tego hasła i szukania na nastepną strone smile.gif
Tutaj o tym pisałem:
http://nospor.pl/formularz-i-stronicowanie...-stanu-n26.html
moze ci się przyda.

zabieram się za czytanie
Cytat
Mozesz uzyc gotowych klas, ktore juz to robią. Np. moja w podpisie


ok lecz jak się z tego korzysta questionmark.gif
nospor
W paczce masz przykłady użycia - nic tylko przejrzeć.
A jak ci nie pasuje to w dziale Algorytmy jest jeszcze masa innych libów.
A jak ci i one nie pasuą to pisz samemu.
Masz tyle opcji do wyboru, ze na pewno coś sobie wybierzesz winksmiley.jpg
thek
No i dlatego właśnie Ci napisałem, że na kolejnych stronach coś Ci znika. Nie chciałem pisać tego wprost byś sam zauważył smile.gif Ale skoro teraz już widzisz to powiem. Podczas gdy klikasz nową stronę nie zapamiętujesz nigdzie kryterium wyszukiwania, czyli słowa po którym szukasz i jego przynależności. Tak więc puste masz zmienne $szukanie oraz $haslo i je musisz przechować dla kolejnych stron. Często jest to rozwiązywane sesją, ale to nie jedyna możliwość, choć najpopularniejsza.
pokrak
Cytat(nospor @ 25.03.2010, 09:43:45 ) *
W paczce masz przykłady użycia - nic tylko przejrzeć.
A jak ci nie pasuje to w dziale Algorytmy jest jeszcze masa innych libów.
A jak ci i one nie pasuą to pisz samemu.
Masz tyle opcji do wyboru, ze na pewno coś sobie wybierzesz winksmiley.jpg



ne lubie wywarzać otwartych drzwi wiec próbujemy biggrin.gif

przerobiłem kod:
wklejam fragment tylko
  1. <html>
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4.  
  5. <body bgcolor="#66E666"></body>
  6.  
  7.  
  8.  
  9. ?<div class="pds" id="top">
  10.  
  11.  
  12.  
  13.  
  14.  
  15. <div class="s">
  16.  
  17.  
  18.  
  19. <div class="right">
  20.  
  21.  
  22.  
  23. <div class="tekst">
  24.  
  25.  
  26.  
  27.  
  28.  
  29. <table cellspacing="0" summary="">
  30.  
  31. <thead>
  32.  
  33. <tr>
  34.  
  35. <th style="border: solid 1px #ddad08; padding:10;">1</th>
  36.  
  37. <th style="border: solid 1px #ddad08; padding:10;">2</th>
  38.  
  39. <th style="border: solid 1px #ddad08; padding:10;">3</th>
  40.  
  41. <th style="border: solid 1px #ddad08; padding:10;">4</th>
  42.  
  43. <th style="border: solid 1px #ddad08; padding:10;">5</th>
  44.  
  45. <th style="border: solid 1px #ddad08; padding:10;">6</th>
  46.  
  47. <th style="border: solid 1px #ddad08; padding:10;">7</th>
  48.  
  49. <th style="border: solid 1px #ddad08; padding:10;">8</th>
  50.  
  51. <th style="border: solid 1px #ddad08; padding:10;">9</th>
  52.  
  53. <th style="border: solid 1px #ddad08; padding:10;">10</th>
  54.  
  55. <th style="border: solid 1px #ddad08; padding:10;">11</th>
  56.  
  57. <th style="border: solid 1px #ddad08; padding:10;">12</th>
  58.  
  59. <th style="border: solid 1px #ddad08; padding:10;">13</th>
  60.  
  61. <th style="border: solid 1px #ddad08; padding:10;">14</th>
  62.  
  63. <th style="border: solid 1px #ddad08; padding:10;">15</th>
  64.  
  65. <th style="border: solid 1px #ddad08; padding:10;">16</th>
  66.  
  67. </tr>
  68.  
  69. </thead>
  70.  
  71.  
  72.  
  73. <tfoot>
  74.  
  75. <?php
  76.  
  77. if (!$szukanie || !$haslo)
  78.  
  79. {
  80.  
  81. print "nie zostało wpisane żadne hasło";
  82.  
  83.  
  84. }
  85.  
  86. $szukanie=addslashes($szukanie);
  87.  
  88. $haslo=addslashes($haslo);
  89.  
  90. @$db=mysql_connect("localhost", "user", "hasło");
  91.  
  92.  
  93. if (!$db)
  94.  
  95. {
  96.  
  97. print "błąd połączenia";
  98.  
  99.  
  100. }
  101.  
  102.  
  103.  
  104.  
  105. mysql_query("SET NAMES 'utf8'");
  106.  
  107.  
  108. require_once('Pager.class.php');
  109.  
  110. $sql = 'select count(*) from tablica';
  111. $result = mysql_query($sql);
  112. $row = mysql_fetch_array($result);
  113. $recordsCount = $row[0];//pobranie liczby rekordów
  114. try{
  115. $pager = new Pager('idPagera');
  116. $pager->SetTotalRecords($recordsCount);
  117. $pager->Make(true);
  118. $pag = $pager->Render();
  119. $start = $pager->GetIndexRecordStart();
  120. $end = $pager->GetIndexRecordEnd();
  121. }
  122. catch (Exception $e) {
  123. echo $e->getMessage();
  124.  
  125.  
  126.  
  127.  
  128.  
  129. $sql="select * from tablica where ".$szukanie." like '%".$haslo."%' LIMIT '.$start.','.($end - $start + 1)";
  130. echo $pag;//wyswietlenie pager'a
  131. echo $sql;
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. }


komunikaty które woła:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/tabela.php:19) in /var/www/tabela.php on line 57

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/tabela.php:19) in /var/www/tabela.php on line 57

linia 37 to w tym listingu zaznaczona jako 37 a 57 jako 111
nospor
no tak. przed sesją nie moze nic isc do przeglądarki. Daj session start na samym początku lub poszukaj na forum pod hasłem:
headers already sent - bylo milion razy

i zmiluj sie nad nami... nie dawaj całej masy zbednego kodu html, nie rób dwólinijkowych przerw miedzy liniami...
pokrak
Cytat(nospor @ 25.03.2010, 11:27:00 ) *
no tak. przed sesją nie moze nic isc do przeglądarki. Daj session start na samym początku lub poszukaj na forum pod hasłem:
headers already sent - bylo milion razy

i zmiluj sie nad nami... nie dawaj całej masy zbednego kodu html, nie rób dwólinijkowych przerw miedzy liniami...


ok komunikat zlikwidowany lecz tabelka pusta :/

ok bede przycinał kod
ale btw nie wiem czemu kopiujac z Bluefisha robi mi tyle przerw :/ questionmark.gif
nospor
Cytat
lecz tabelka pusta
No a gdzie masz generowanie rekordów tej tabelki? Nigdzie nie widze. Skonczyles na stworzeniu zapytania. Nic wiecej z nim nie robisz.
pokrak
no to przyznaje się bez bicia nie wiem co dalej z tym zrobic :/
logiczne myślenie mi sie wyłączyło juz chyba wczoraj
nospor
Cytat
logiczne myślenie mi sie wyłączyło juz chyba wczoraj
A mi cierpliwosć smile.gif
Jak włączy ci się logiczne myślenie to daj znac - moze wróci wówczas moja cierpliwość winksmiley.jpg
pokrak
ide popracować nad czymś innym.
A jeśli cierpliwości ci choć ciutke zostało
podrzuć drogowskaz w którym kierunku mam myślec.
O kilka ładnych lat za pożno sie zabieram za naukę i troche topornie mi to idzie
nospor
No musisz jeszcze wygenerowac tabelke tak jak to robiles do tej pory:
mysql_query
w petli mysql_fetch_array()

Tylko ze teraz masz to zrobic na podstawie zapytania, ktore stworzyles przy pomocy Pagera.
pokrak
Cytat(nospor @ 25.03.2010, 12:08:29 ) *
No musisz jeszcze wygenerowac tabelke tak jak to robiles do tej pory:
mysql_query
w petli mysql_fetch_array()

Tylko ze teraz masz to zrobic na podstawie zapytania, ktore stworzyles przy pomocy Pagera.

no zauważyłem biggrin.gif że czegoś mi brakuje heh na dziś dam chyba spokuj bo bzdury mi wychodzą.
Na razie zlicza mi dobrze i rysuje odpowiednia liczbe linii w tabeli lecz jeszcze bez danych.
Musze do tego na świeżo podejść.

Gdzie przy tych klasach ustawia się liczbę linii wyświetlanych na stronie questionmark.gif
nospor
Cytat
Gdzie przy tych klasach ustawia się liczbę linii wyświetlanych na stronie
W kodzie klasy masz komentarze - po polsku.... winksmiley.jpg
ps: nie "linii na stronie" a liczbę rekordów na stronie. Rekordy możesz wyświetlać w postaci linii, kwadratów czy kół - jak ci się żywnie podoba - klasa w każdym bądź razie tym nie zarządza. Klasa służy jedynie do zarządzania pagerem i liczbą rekordów smile.gif
pokrak
Qna coś namieszałem :/ i ni cholery nie widze co

  1.  
  2. require_once('Pager.class.php');
  3.  
  4. $sql = 'select count(*) from tabela';
  5. $result = mysql_query($sql);
  6. $row = mysql_fetch_array($result);
  7. $recordsCount = $row[0];//pobranie liczby rekordów
  8. try{
  9. $pager = new Pager('idPagera');
  10. $pager->SetTotalRecords($recordsCount);
  11. $pager->Make(true);
  12. $pag = $pager->Render();
  13. $start = $pager->GetIndexRecordStart();
  14. $end = $pager->GetIndexRecordEnd();
  15. }
  16. catch (Exception $e) {
  17. echo $e->getMessage();
  18. $sql="select * from tabela ".$szukanie." like '%".$haslo."%' LIMIT '.$start.','.($end - $start + 1)";


czyli to bedzie dobrze dodaje pętle mysql_fetch_array

  1. while ($row=mysql_fetch_array($result))
  2. echo $pag;//wyswietlenie pager'a
  3. echo $sql;
  4.  
  5.  
  6. }


i powinienem dodać za pętlą co ma wyświetlać lecz juz nie wiem co zmienne $row sa przecież ponizej przy rysowaniu tabelki
nospor
wdech wydech wdech wydech wdech wydech..... szklanka zimnej wody.... zima woda na łeb....

....
ałć zimno.....
....
wyślę ci rachunek za leki od przeziębienia winksmiley.jpg

Dobra, juz jestem spokojny, mozemy pisac smile.gif

  1. $sql="select * from tabela ".$szukanie." like '%".$haslo."%' LIMIT '.$start.','.($end - $start + 1)";
  2. $result = mysql_query($sql) or die(mysql_error());
  3. while ($row=mysql_fetch_array($result)){
  4. //tutaj wyswietlas sobie teraz twoje rekordy. są w $row
  5. }
  6.  
  7. //tutaj wyswietl pager
  8. echo $pag;


zauwaz ze ciągle masz tabele o nazwie TABELA. Czy twoja tabela tak sie nazywa? Uzywasz tej nazwy zarowno w pierwszy jak i w drugim zapytaniu.
Ponadto pierwsze zapytanie, w ktorym wyliczasz liczbe rekordow, ma byc co do warunkow takie samo co drugie zapytanie. Przeciez chcesz zliczyc liczbe rekordow dla zadanych warunkow a nie dla wszystkich rekordow w tabeli.
pokrak
heh jednak za toporny jestem :/

tak tabela zwie sie tabela moge ja nazwac inaczej jak to ułatwi

a jakiej innej nazwy mam uzywac w drugim zapytaniu (choc dla mnie to tez wydaje się dziwne), ale jade z przykładu z pliku ex_witch_mysql.php

  1. $sql = 'select count(*) from TABLE';
  2. .
  3. .
  4. .
  5. //zapytanie z uwzglenieniem stronicowania
  6. $sql = 'select * from TABLE limit '.$start.','.($end - $start + 1);
  7. //...pobranie wyników i ich wyswietlenie

nospor
Cytat
a jakiej innej nazwy mam uzywac w drugim zapytaniu (choc dla mnie to tez wydaje się dziwne)
jejku...
masz uzyc takiej nazwy tabeli, z jakiej chcesz pobrac dane. Jesli twoja tabela sie nazywa:
WNERWIC_NOSPOR
to twoje zapytanie ma wygladac
  1. SELECT .... FROM WNERWIC_NOSPOR.....

smile.gif
Jesli zas twoja tabela sie nazywa TABLE to:
  1. SELECT .... FROM TABLE.....

Jesli zas NEWS
  1. SELECT .... FROM NEWS.....

Naprawde tego nie rozumiesz?
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.