Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak przerobic to porcjowanie wynikow na stronie?, ????
B3T0N
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 12.10.2003

Ostrzeżenie: (0%)
-----


witam,

akurat w dziedzinie porcjowania wynikow mi strasznie cienko idzie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

mam maly problemik , gdyz kolega mi napisal skrypt porcjowania wynikow na stronie i jednak nie pasuje mi on , tzn wyswietlanie linkow do kolejnych stron nie jest dla mnie wygodne

jak przerobic ten kod aby bylo proste porcjowanie wynikow aby linki nawigacyjne wyswietlaly sie mniej wiecej tak :

<<poprzednia nastepna>>

a wyswietla sie w ten sposob:

1-5 6-10 11-15

oto kod
  1. <?php 
  2.  
  3.  
  4. //wyswietlanie linkow do stron z towarami
  5. $query2 = $queryTowary . ';';
  6. $query2 = ereg_replace (&#092;" FROM\", \", COUNT(*) FROM\", $query2);
  7. $query2 = ereg_replace (&#092;"SELECT DISTINCT\", \"SELECT\", $query2);
  8. $query2 = ereg_replace (&#092;" id_towaru, nazwa_towaru, cena_eu, id_kategorii, dostepnosc, krotki_opis, i
    d
  9. ntyfikator, nowosc, promocja,\", \"\", $query2);
  10.  
  11.  
  12. $result2 = mysql_query($query2) or die(\"zapytanie: ' $query2 ' zakonczone niepowodzeniem\");
  13. $ilosc_towarow = mysql_fetch_row($result2);
  14.  
  15.  
  16. for ($i=0; $i<$ilosc_towarow[0]; $i += $ilosc_towarow_na_stronie ){
  17. $j = $i + 1;
  18. $k = $i + $ilosc_towarow_na_stronie;
  19. if ($k > $ilosc_towarow[0]) {$k = $ilosc_towarow[0];}
  20. if ($i == $start) {?>
  21. <div align=\"left\"><font color=\"#F7E375\">&nbsp;<?php echo $j ?>-<?php echo $k ?> 
  22. <?php }//koniec if
  23. else{ ?>
  24. &nbsp;<a href=\"index.php?action=SzukanieWynik&start=<?php echo $i ?>&queryTowary=<?php echo base64_encode($queryTowary) ?>\"> 
  25. <?php echo $j ?>-<?php echo $k ?></a> 
  26. <?php }//koniec else
  27. }//koniec for
  28.  
  29. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Edd_s
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 5.04.2005

Ostrzeżenie: (0%)
-----


Ja do porcjonowania napisałem sobie takie coś :
  1. <?php
  2.  $page = $_GET['stron'];
  3.  
  4. $conn_id=mysql_connect('serwer','uzytkownik','hasło') or die(mysql_error());
  5. mysql_select_db('nazwabazy',$conn_id) or die(mysql_error($conn_id));
  6.  
  7.  
  8. IF ($page == &#092;"\") {
  9.  $page=1;
  10. $sql = 'SELECT * FROM tabela WHERE warunek';
  11. $ras = mysql_query($sql,$conn_id);
  12. $ilzdj = mysql_num_rows($ras);
  13. $ilwyn = 20;
  14. $ilstr=$ilzdj / $ilwyn;
  15. If ($ilstr <= 1) {
  16. $sql = 'SELECT * FROM tabela WHERE warunek ORDER BY id DESC LIMIT 1,20';
  17. $res = mysql_query($sql,$conn_id);
  18. while($row = mysql_fetch_array($res)) {
  19. //prezentowanie wyników //
  20. }
  21. mysql_close($conn_id);
  22. }
  23.  
  24. elseif ($ilstr > 1 ) {
  25. echo ('<form action=gallery.php method=get>');
  26. echo '<center><input type=\"hidden\" name=stron value=\"2\">';
  27. $limg = 20;
  28. echo '<input type=\"hidden\" name=lim value=\"'.$limg.'\">';
  29. echo '<input type=image src=\"images/prawo.gif\" value=\"submit\"></center>';
  30.  
  31. $sql = 'SELECT * FROM tabela WHERE warunek ORDER BY id DESC LIMIT 1,20';
  32. $res = mysql_query($sql,$conn_id);
  33.  
  34.  
  35. while($row = mysql_fetch_array($res)) {
  36. // prezentownie wyników //
  37. }
  38. echo '<input type=image src=\"images/prawo.gif\" value=\"submit\"></center>';
  39. echo '</form>';
  40. mysql_close($conn_id);
  41. }
  42.  
  43. }
  44. else {
  45.  
  46.  
  47. $sql = 'SELECT * FROM tabela WHERE warunek';
  48. $ras = mysql_query($sql,$conn_id);
  49. $ilzdj = mysql_num_rows($ras);
  50. $ilwyn = 20;
  51. $ilstr=$ilzdj / $ilwyn;
  52.  
  53. If ($ilstr <= $page) {
  54. $limg = $page * 20 ;
  55. $limg = $limg - 20 ;
  56. $bpage = $page - 1;
  57. $elimg = $limg - 20;
  58. echo ('<form action=gallery.php method=get>');
  59. echo '<input type=\"hidden\" name=stron value=\"'.$bpage.'\">';
  60. echo '<input type=\"hidden\" name=lim value=\"'.$elimg.'\">';
  61. echo '<center><input type=image src=\"images/lewo.gif\" value=\"submit\"></center>';
  62. echo '</form>';
  63. }
  64.  
  65. If ($ilstr > $page) {
  66. $npage = $page + 1 ;
  67. $limg = $page * 20 ;
  68. $limg = $limg - 20 ;
  69. $elimg = $limg + 20;
  70. echo ('<form action=gallery.php method=get>');
  71. echo '<input type=\"hidden\" name=gname value=\"'.$_GET['gname'].'\">';
  72. echo '<input type=\"hidden\" name=stron value=\"'.$npage.'\">';
  73. echo '<input type=\"hidden\" name=lim value=\"'.$elimg.'\">';
  74. echo '<center><input type=image src=\"images/prawo.gif\" value=\"submit\"></center>';
  75. echo '</form>';
  76. }
  77. $slim = $_GET['lim'];
  78.  
  79. $sql = 'SELECT * FROM tabela WHERE warunekORDER BY id DESC LIMIT '.$slim.',20';
  80. $res = mysql_query($sql,$conn_id);
  81.  
  82. echo('<table border=\"1\" CELLSPACING=\"1\" CELLPADDING=\"5\">');
  83. while($row = mysql_fetch_array($res)) {
  84. //prezentacjia wyników//
  85. }
  86. If ($ilstr <= $page) {
  87. $limg = $page * 20 ;
  88. $limg = $limg - 20 ;
  89. $bpage = $page - 1;
  90. $elimg = $limg - 20;
  91. echo ('<form action=gallery.php method=get>');
  92. echo '<input type=\"hidden\" name=stron value=\"'.$bpage.'\">';
  93. echo '<input type=\"hidden\" name=lim value=\"'.$elimg.'\">';
  94. echo '<center><input type=image src=\"images/lewo.gif\" value=\"submit\"></center>';
  95. echo '</form>';
  96. }
  97.  
  98. If ($ilstr > $page) {
  99. $npage = $page + 1 ;
  100. $limg = $page * 20 ;
  101. $limg = $limg - 20 ;
  102. $elimg = $limg + 20;
  103. echo ('<form action=gallery.php method=get>');
  104. echo '<input type=\"hidden\" name=stron value=\"'.$npage.'\">';
  105. echo '<input type=\"hidden\" name=lim value=\"'.$elimg.'\">';
  106. echo '<center><input type=image src=\"images/prawo.gif\" value=\"submit\"></center>';
  107. echo '</form>';
  108. }
  109.  
  110.  
  111. mysql_close($conn_id);
  112.  
  113. }
  114.  
  115. }
  116. ?>

To będzie Ci wyświetlało po 20 kolejnych wyników, do kolejnych stron przechodzisz za pomocą strzałek (images/prawo.gif & images/lewo.gif) jeśli nie da się przejść do poprzedniej lub nastęnej strony strzałka się nie pojawia (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . możesz nie używać przy pobieraniu danych z tabeli warunków(jak ci nie potrzebne to poprostu wszędzie je usuń), w //prezentacjia wyników// walisz np tabelkę czy coś tam co ci się podoba, powinno działać, aczkolwiek gdzieś coś może być nie tak bo to w całości jest jeszcze bardziej rozbudowany skrypt i jak skracałem to mogłem coś za dużo usunąć albo zostawić, jak coś nie będzie dziąłało to pisz (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Edd_s 8.04.2005, 14:14:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 13:56