Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyszukiwarka produktów na stronie
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich smile.gif
Piszę sobie wyszukiwarkę na stronę i mam problem smile.gif
Już mi się wszystko przed oczami rozmazuje i nie wiem, gdzie jest błąd.
Otóż, gdy wpisuje w pole wyszukiwania co chcę wyszukać(czy na stronie głównej, czy w pliku search) to za pierwszym przyciśnięciem klawisza enter wyświetla komunikat: Formularz został wypełniony niepoprawnie!
Nie można wyświetlić wyników wyszukiwania! i adres wyszukiwarki jest: index.php?page=search&wynik=, a dopiero za drugim razem jak nacisnę przycisk enter to wyszukuje i adres jest index.php?page=search&wynik=szukanafraza

  1. <?php
  2. if(isset($_GET['wynik']))
  3. {
  4. $wynik_filtru = trim(zabezpiecz($_GET['wynik']));
  5. }
  6. if(isset($_POST['wynik']))
  7. {
  8. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search&wynik='.$_POST['wynik'].'" method="post">
  9. <input type="text" name="wynik" value="'.$wynik_filtru.'" class="texts" />
  10. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  11. </form></div>';
  12. }
  13. else
  14. {
  15. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search&wynik='.$_POST['wynik'].'" method="post">
  16. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="texts" />
  17. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  18. </form></div>';
  19. }
  20. if(empty($wynik_filtru) or !preg_match('/^[A-Za-z0-9 ]$/', ''.$wynik_filtru.''))
  21. {
  22. echo '<br /><br /><font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>';
  23. echo '<br /><br />';
  24. }
  25. else
  26. {
  27. $subpage = $_GET['page'];
  28. $perPage = 10;
  29. if (!empty($_GET['subpage']))
  30. {
  31. if (is_numeric($_GET['subpage']))
  32. {
  33. $subpage = (int) $_GET['subpage'];
  34. }
  35. }
  36. if ($subpage < 1)
  37. {
  38. $subpage = 1;
  39. }
  40. $start = ($subpage - 1) * $perPage;
  41. $zapytanie = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  42. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  43. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT ".$start.", ".$perPage."";
  44. $idzapytania = mysql_query($zapytanie) or die (mysql_error());
  45. $zapytanie2 = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  46. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  47. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%')";
  48. $idzapytania2 = mysql_query($zapytanie2);
  49. $ilosc_wierszy = mysql_num_rows($idzapytania2);
  50. $oblicz = mysql_num_rows($idzapytania2);
  51. }
  52. if(isset($oblicz))
  53. {
  54. echo '<br /><br />Znaleziono: '.$oblicz.'<br /><br />';
  55. if (!isset($_GET['id']) or empty($_GET['id']))
  56. {
  57. while ($wiersz = mysql_fetch_array($idzapytania))
  58. {
  59. if($wiersz['tresc'] != '')
  60. {
  61. $wyraz = explode(' ',substr($wiersz['tresc'], 50));
  62. $wyrazy = substr($wiersz['tresc'], 0, 50).$wyraz[0];
  63. $wyraz = $wyrazy;
  64. $array = array('','','','','','','','','[small]','[/small]',
  65. '[big]','[/big]','[p]','[/p]','
    ','
    '
    ,'','',
  66. '','',','[hr=([0-9]{1,2}|100)]','[/hr]');
  67. $wyrazek = str_replace($array,'',$wyraz);
  68. echo '<a style="text-decoration: none;" href="/sklep/index.php?page=kat&subkat='.$wiersz['kategoria'].'&id='.$wiersz['id'].'"><b>'.zabezpiecz($wyrazek).'</b></a>';
  69. echo'<br /><br />';
  70. }
  71. }
  72. echo '<div id="page_numbers"><ul><hr />';
  73. $prev = $subpage - 1;
  74. $next = $subpage + 1;
  75. $prevLink = '/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$prev.'';
  76. $nextLink = '/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$next.'';
  77. if($subpage > 1)
  78. {
  79. echo'<li class="page_info"><a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a></li> ';
  80. }
  81. $stron=ceil($ilosc_wierszy/$perPage);
  82. for($i=1; $i<=$stron; ++$i)
  83. {
  84. if($i==$subpage)
  85. {
  86. echo '<li class="page_info"><b>'.$i.' </b></li>';
  87. }
  88. else
  89. {
  90. echo '<li class="page_info"><a style="text-decoration: none;" href="/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$i.'">'.$i.' </a></li>';
  91. }
  92. }
  93. if($subpage < $stron)
  94. {
  95. echo ' <li class="page_info"><a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a></li>';
  96. }
  97. echo '</ul></div>';
  98. }
  99. }
  100. ?>


PS. Wyszukiwarka od razu z systemem paginacji wyników
mikolaj51
  1. ...
  2. if(isset($_POST['wynik']))
  3. {
  4. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search&wynik='.$_POST['wynik'].'" method="post">
  5. <input type="text" name="wynik" value="'.$wynik_filtru.'" class="texts" />
  6. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  7. </form></div>';
  8. }
  9. else
  10. {
  11. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search&wynik='.$_POST['wynik'].'" method="post">
  12. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="texts" />
  13. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  14. </form></div>';
  15. }
  16. ...


W tym if'ie sprawdzasz czy istnieje $_POST['wynik'] mimo to w else (czyli gdy nie istnieje) dodajesz do adresu $_POST['wynik'] który jest pusty.
Dlatego "http://strona.pl/index.php?page=search&wynik='.$_POST['wynik'].'" jest wyświetlane jako "http://strona.pl/index.php?page=search&wynik="
adrianozo
No tak... ale jak temu zapobiec? To znaczy się jak to naprawić
mikolaj51
Jeżeli chcesz, żeby adres był w postaci "http://strona.pl/index.php?page=search&wynik=fraza" to należy przerobić formularz żeby dane były przesyłane GET'em - wtedy będziesz miał już do wyniku przypisaną frazę z input'a
adrianozo
Próbowałem z $_GET i nic to nie dało
mikolaj51
Dlaczego? Z GET powinno działać a nawet musi wink.gif

Spróbuj tak:

  1. <?php
  2. if(isset($_GET['wynik']))
  3. {
  4. $wynik_filtru = trim(zabezpiecz($_GET['wynik']));
  5.  
  6. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search" method="get">
  7. <input type="text" name="wynik" value="'.$wynik_filtru.'" class="texts" />
  8. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  9. </form></div>';
  10. }
  11. else
  12. {
  13. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php?page=search" method="get">
  14. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="texts" />
  15. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submits" />
  16. </form></div>';
  17. }
  18. if(empty($wynik_filtru) or !preg_match('/^[A-Za-z0-9 ]$/', ''.$wynik_filtru.''))
  19. {
  20. echo '<br /><br /><font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>';
  21. echo '<br /><br />';
  22. }
  23. else
  24. {
  25. $subpage = $_GET['page'];
  26. $perPage = 10;
  27. if (!empty($_GET['subpage']))
  28. {
  29. if (is_numeric($_GET['subpage']))
  30. {
  31. $subpage = (int) $_GET['subpage'];
  32. }
  33. }
  34. if ($subpage < 1)
  35. {
  36. $subpage = 1;
  37. }
  38. $start = ($subpage - 1) * $perPage;
  39. $zapytanie = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  40. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  41. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT ".$start.", ".$perPage."";
  42. $idzapytania = mysql_query($zapytanie) or die (mysql_error());
  43. $zapytanie2 = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  44. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  45. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%')";
  46. $idzapytania2 = mysql_query($zapytanie2);
  47. $ilosc_wierszy = mysql_num_rows($idzapytania2);
  48. $oblicz = mysql_num_rows($idzapytania2);
  49. }
  50. if(isset($oblicz))
  51. {
  52. echo '<br /><br />Znaleziono: '.$oblicz.'<br /><br />';
  53. if (!isset($_GET['id']) or empty($_GET['id']))
  54. {
  55. while ($wiersz = mysql_fetch_array($idzapytania))
  56. {
  57. if($wiersz['tresc'] != '')
  58. {
  59. $wyraz = explode(' ',substr($wiersz['tresc'], 50));
  60. $wyrazy = substr($wiersz['tresc'], 0, 50).$wyraz[0];
  61. $wyraz = $wyrazy;
  62. $array = array('','','','','','','','','[small]','[/small]',
  63. '[big]','[/big]','[p]','[/p]','
  64. ','
  65. ','','',
  66. '','',','[hr=([0-9]{1,2}|100)]','[/hr]');
  67. $wyrazek = str_replace($array,'',$wyraz);
  68. echo '<a style="text-decoration: none;" href="/sklep/index.php?page=kat&subkat='.$wiersz['kategoria'].'&id='.$wiersz['id'].'"><b>'.zabezpiecz($wyrazek).'</b></a>';
  69. echo'<br /><br />';
  70. }
  71. }
  72. echo '<div id="page_numbers"><ul><hr />';
  73. $prev = $subpage - 1;
  74. $next = $subpage + 1;
  75. $prevLink = '/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$prev.'';
  76. $nextLink = '/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$next.'';
  77. if($subpage > 1)
  78. {
  79. echo'<li class="page_info"><a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a></li> ';
  80. }
  81. $stron=ceil($ilosc_wierszy/$perPage);
  82. for($i=1; $i<=$stron; ++$i)
  83. {
  84. if($i==$subpage)
  85. {
  86. echo '<li class="page_info"><b>'.$i.' </b></li>';
  87. }
  88. else
  89. {
  90. echo '<li class="page_info"><a style="text-decoration: none;" href="/sklep/index.php?page=search&wynik='.$wynik_filtru.'&subpage='.$i.'">'.$i.' </a></li>';
  91. }
  92. }
  93. if($subpage < $stron)
  94. {
  95. echo ' <li class="page_info"><a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a></li>';
  96. }
  97. echo '</ul></div>';
  98. }
  99. }
  100. ?>
adrianozo
Po wykorzystaniu powyższego przykładu adres strony wynosi:

http://strona.pl/indes.php?wynik=as&su...=0&submit=+
mikolaj51
  1. if(isset($_GET['wynik']))
  2. {
  3. $wynik_filtru = trim(zabezpiecz($_GET['wynik']));
  4.  
  5. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php" method="get">
  6. <input type="hidden" name="page" value="search" />
  7. <input type="text" name="wynik" value="'.$wynik_filtru.'" class="texts" />
  8. <button>Send</button>
  9. </form></div>';
  10. }
  11. else
  12. {
  13. echo '<div class="wyszukiwarkas"><form action="http://strona.pl/index.php" method="get">
  14. <input type="hidden" name="page" value="search" />
  15. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="texts" />
  16. <button>Send</button>
  17. </form></div>';
  18. }


W przypadku gdzie miałeś przycisk obrazkowy to wyświetlało ci się np. &x=29&y=39, spróbuj teraz zamienić na ten kod co jest powyżej
adrianozo
Ok jest coraz lepiej. Problem polega teraz na tym, że jak wpiszę więcej liter niż jedna w wyszukiwarkę to wyrzuca komunikat: Formularz został wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania
mikolaj51
Zamień w preg_match tak jak niżej, powinno być dobrze (tylko litery i liczby)

  1. ...
  2. if(empty($wynik_filtru) or !preg_match('/^[a-zA-Z0-9]+$/i', $wynik_filtru))
  3. {
  4. echo '<br /><br /><font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>';
  5. echo '<br /><br />';
  6. }
  7. ...
adrianozo
Dzięki wielkie smile.gif
Pomógł leci smile.gif

Podpinam trochę inną paginacje wyników i mam problem.
Na starym skrypcie(ze starą paginacją) porcjuje wyniki, natomiast w drugiej nie(nawet jak wpiszę ręcznie w adres strony)

Stary kod na którym działa paginacja:

  1. <?php
  2. echo '<h2>Wyszukiwarka</h2>';
  3. echo '<br /><br />';
  4. if(isset($_GET['wynik']))
  5. {
  6. $wynik_filtru = trim(zabezpiecz($_GET['wynik']));
  7. echo '<form action="http://nportfolio.pl/sklep/index.php?page=sear" method="get">
  8. <input type="hidden" name="page" value="sear" />
  9. <input type="text" name="wynik" value="'.$wynik_filtru.'"/>
  10. <button>Szukaj</button>
  11. </form>';
  12. }
  13. else
  14. {
  15. echo '<div class="wyszukiwarkas"><form action="http://nportfolio.pl/sklep/index.php?page=sear" method="get">
  16. <input type="hidden" name="page" value="sear" />
  17. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\'\'" />
  18. <button>Szukaj</button>
  19. </form></div>';
  20. }
  21. if(empty($wynik_filtru) or !preg_match('/^[a-zA-Z0-9]+$/i', $wynik_filtru))
  22. {
  23. echo '<br /><br /><font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>';
  24. echo '<br /><br />';
  25. }
  26. else
  27. {
  28. $subpage = $_GET['page'];
  29. $perPage = 10;
  30. if (!empty($_GET['subpage']))
  31. {
  32. if (is_numeric($_GET['subpage']))
  33. {
  34. $subpage = (int) $_GET['subpage'];
  35. }
  36. }
  37. if ($subpage < 1)
  38. {
  39. $subpage = 1;
  40. }
  41. $start = ($subpage - 1) * $perPage;
  42. $zapytanie = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  43. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  44. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT ".$start.", ".$perPage."";
  45. $idzapytania = mysql_query($zapytanie) or die (mysql_error());
  46. $zapytanie2 = "(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  47. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  48. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%')";
  49. $idzapytania2 = mysql_query($zapytanie2);
  50. $ilosc_wierszy = mysql_num_rows($idzapytania2);
  51. $oblicz = mysql_num_rows($idzapytania2);
  52. }
  53. if(isset($oblicz))
  54. {
  55. echo '<br /><br />Znaleziono: '.$oblicz.'<br /><br />';
  56. if (!isset($_GET['id']) or empty($_GET['id']))
  57. {
  58. while ($wiersz = mysql_fetch_array($idzapytania))
  59. {
  60. if($wiersz['nazwa'] != '')
  61. {
  62. $wyraz = explode(' ',substr($wiersz['nazwa'], 50));
  63. $wyrazy = substr($wiersz['nazwa'], 0, 50).$wyraz[0];
  64. $wyraz = $wyrazy;
  65. $array = array('','','','','','','','','[small]','[/small]',
  66. '[big]','[/big]','[p]','[/p]','
    ','
    '
    ,'','',
  67. '','','[hr=([0-9]{1,2}|100)]','[/hr]');
  68. $wyrazek = str_replace($array,'',$wyraz);
  69. echo '<a style="text-decoration: none;" href="/sklep/index.php?page=kat&subkat='.$wiersz['kategoria'].'&id='.$wiersz['id'].'"><b>'.zabezpiecz($wyrazek).'</b></a>';
  70. echo'<br /><br />';
  71. }
  72. }
  73. echo '<div id="page_numbers"><ul><hr />';
  74. $prev = $subpage - 1;
  75. $next = $subpage + 1;
  76. $prevLink = '/sklep/index.php?page=sear&wynik='.$wynik_filtru.'&subpage='.$prev.'';
  77. $nextLink = '/sklep/index.php?page=sear&wynik='.$wynik_filtru.'&subpage='.$next.'';
  78. if($subpage > 1)
  79. {
  80. echo'<li class="page_info"><a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a></li> ';
  81. }
  82. $stron=ceil($ilosc_wierszy/$perPage);
  83. for($i=1; $i<=$stron; ++$i)
  84. {
  85. if($i==$subpage)
  86. {
  87. echo '<li class="page_info"><b>'.$i.' </b></li>';
  88. }
  89. else
  90. {
  91. echo '<li class="page_info"><a style="text-decoration: none;" href="/sklep/index.php?page=sear&wynik='.$wynik_filtru.'&subpage='.$i.'">'.$i.' </a></li>';
  92. }
  93. }
  94. if($subpage < $stron)
  95. {
  96. echo ' <li class="page_info"><a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a></li>';
  97. }
  98. echo '</ul></div>';
  99. }
  100. }
  101. ?>


Nowy kod na którym nie działa paginacja

  1. <?php
  2. echo '<h2>Wyszukiwarka</h2>';
  3. echo '<br /><br />';
  4. if(isset($_GET['wynik']))
  5. {
  6. $wynik_filtru = trim(zabezpiecz($_GET['wynik']));
  7. echo '<form action="http://nportfolio.pl/sklep/index.php?page=search" method="get">
  8. <input type="hidden" name="page" value="search" />
  9. <input type="text" name="wynik" value="'.$wynik_filtru.'"/>
  10. <button>Szukaj</button>
  11. </form>';
  12. }
  13. else
  14. {
  15. echo '<div class="wyszukiwarkas"><form action="http://nportfolio.pl/sklep/index.php?page=search" method="get">
  16. <input type="hidden" name="page" value="search" />
  17. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\'\'" />
  18. <button>Szukaj</button>
  19. </form></div>';
  20. }
  21. if(empty($wynik_filtru) or !preg_match('/^[a-zA-Z0-9]+$/i', $wynik_filtru))
  22. {
  23. echo '<br /><br /><font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>';
  24. echo '<br /><br />';
  25. }
  26. else
  27. {
  28. $licz = mysql_query('SELECT COUNT(id) FROM `cms_sklep_produkty`');
  29. $ile = mysql_fetch_array($licz);
  30. $na_stronie = 10;
  31. if(!empty($_GET['subpage']))
  32. {
  33. if($_GET['subpage']>0 and $_GET['subpage']%$na_stronie==0 and $_GET['subpage']<$ile[0])
  34. {
  35. $aktualnie = $_GET['subpage'];
  36. }
  37. }
  38. else
  39. {
  40. $aktualnie = 0;
  41. }
  42. echo '<br /><br />Znaleziono: '.$ile[0].'<br /><br />';
  43. $porcjowanie = porcjowanie($aktualnie, $ile[0], $na_stronie, '/sklep/index.php?page=download&subpage=', '');
  44. $pobierz = mysql_query("(SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE nazwa LIKE '%{$wynik_filtru}%')
  45. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE tresc LIKE '%{$wynik_filtru}%')
  46. UNION ALL (SELECT `id`, `nazwa`, `tresc`, `kategoria`, `cena`, `stan`, `zdjecie` FROM cms_sklep_produkty WHERE kategoria LIKE '%{$wynik_filtru}%') ORDER BY `id` DESC LIMIT $aktualnie, $na_stronie");
  47. if (!isset($_GET['id']) or empty($_GET['id']))
  48. {
  49. while ($wiersz = mysql_fetch_array($pobierz))
  50. {
  51. if($wiersz['nazwa'] != '')
  52. {
  53. $wyraz = explode(' ',substr($wiersz['nazwa'], 50));
  54. $wyrazy = substr($wiersz['nazwa'], 0, 50).$wyraz[0];
  55. $wyraz = $wyrazy;
  56. $array = array('','','','','','','','','[small]','[/small]',
  57. '[big]','[/big]','[p]','[/p]','
    ','
    '
    ,'','',
  58. '','','[hr=([0-9]{1,2}|100)]','[/hr]');
  59. $wyrazek = str_replace($array,'',$wyraz);
  60. echo '<a style="text-decoration: none;" href="/sklep/index.php?page=kat&subkat='.$wiersz['kategoria'].'&id='.$wiersz['id'].'"><b>'.zabezpiecz($wyrazek).'</b></a>';
  61. echo'<br /><br />';
  62. }
  63. }
  64. }
  65. echo '<br />'.$porcjowanie.'';
  66. }
  67. ?>


Nie mam pojęcia dlaczego nowy kod nie dzieli wyników na strony
mikolaj51
Możesz dokładniej jakoś opisać co Tobie tu nie działa, może jakiś błąd wyrzuca?
Masz do tej strony dołączoną funkcję
  1. porcjowanie()
?
adrianozo
  1. function porcjowanie($aktualnie, $ilosc, $na_stronie, $link1, $link2='')
  2. {
  3. $stron=ceil($ilosc/$na_stronie);
  4. if($stron>1)
  5. {
  6. if($aktualnie!=0)
  7. {
  8. $poprzednia=$aktualnie-$na_stronie;
  9. $zwroc[]='<a style="text-decoration: none;" href="'.$link1.''.$poprzednia.$link2.'">Poprzednia strona</a>';
  10. }
  11. $parametr=0;
  12. for($i=1;$i<=$stron;$i++)
  13. {
  14. $do_tylu=$aktualnie-$na_stronie;
  15. $do_przodu=$aktualnie+$na_stronie;
  16. $cofnij=$stron-3;
  17. if($stron>9 AND $i>3 AND $i<=$cofnij AND ($parametr<$do_tylu OR $parametr>$do_przodu))
  18. {
  19. $zwroc[]='...';
  20. if($parametr<$aktualnie)
  21. {
  22. $i=$do_tylu/$na_stronie;
  23. $parametr=$do_tylu-$na_stronie;
  24. $cofnij=$stron-2;
  25. if($i==$cofnij)
  26. {
  27. $i--;
  28. $parametr-=$na_stronie;
  29. }
  30. }
  31. else
  32. {
  33. $i=$cofnij;
  34. $parametr=($cofnij-1)*$na_stronie;
  35. }
  36. }
  37. elseif($parametr==$aktualnie)
  38. {
  39. $zwroc[]='<font color="gray"><b>'.$i.' </b></font>';
  40. }
  41. else
  42. {
  43. $zwroc[]='<a style="text-decoration: none;" href="'.$link1.''.$parametr.$link2.'">'.$i.' </a>';
  44. }
  45. $parametr+=$na_stronie;
  46. }
  47. $nastepna=$aktualnie+$na_stronie;
  48. if($parametr!=$nastepna)
  49. {
  50. $zwroc[]='<a style="text-decoration: none;" href="'.$link1.''.$nastepna.$link2.'">Następna strona</a>';
  51. }
  52. $zwroc=implode(' ', $zwroc);
  53. return $zwroc;
  54. }
  55. return NULL;
  56. }


Po prostu nie pokazują się strony porcjowania(nie dzieli wyniów na strony)

Właśnie zobaczyłem, że problemem jest zapytanie bazy danych. Jeśli robię tylko jedno tj. bez UNION ALL to pokazuje porcjowanie, a ja potrzebuje z UNION ALL(przynajmniej tak mi się wydaje)

Edit: Potrafi ktoś pomóc?
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.