Sprawa wyglada tak, ze majac slowo, które użytkownik szuka (zmienna $klucz) łacze się z bazą i wykonuje zapytanie:
Plik wynik.php
$wykonaj = mysql_query("SELECT * FROM $nazwa_tabeli WHERE nazwa like '%$klucz%' or miasto like '%$klucz%' or inne like '%$klucz%' ORDER by `id` LIMIT ".($page*$ile).", $ile") OR die(mysql_error());
Aby wszystko powyżej gralo ustawiam zmienna $ile = 5 . Tak dla info zmienna $klucz jest nazwą pola input wyszukiwarki.
Następnie za pomocą funkcji while wyświetlam np. nazwy rekordów które spelniaja kryteria wyszukiwania.
<?php { <tr> <td width="600"><div class="nazwa">".$row['nazwa']."</div></td> </tr> </table>"; } ?>
Nastepnie korzystajac z poniyszego skryptu zliczam ile jest rekordów które zawierają słowo pochodzące ze zmiennej $klucz i na tej podstawie mogę ustalić liczbe
podstron.
<?php $zapytanie = "SELECT count(*) FROM $nazwa_tabeli WHERE nazwa like '%$klucz%' OR miasto like '%$klucz%' OR inne like '%$klucz%'"; for($x=0;$x<=$podstron;$x++) { } ?>
Wszystko wydaje sie być ok, tzn. wyświetla się prawidłowa liczba podstron, a także wyniki są prawidłowo wyświetlane, ale tylko na 1 stronie.
Załóżmy że w wyniku szukania słowa kluczowego "123" mamy 17 rekordów i ustawiamy zmienną $ile na 5 to na pierwszej stronie otrzymujemy
5 wyników i pod spodem < poprzednia 1 [2] [3] [4] nastepna > , ale po kliknięciu na którąkolwiek z podstron skrypt jakby zapomina o warunkach
dla rekordów czego wynikiem jest wyświetlenie wszystkich wyników z bazy i pod spodem oczywiście zmienia sie ilość numerów podstron zgodnie z
zasadą (liczba rekordów w bazie): $ile .
Bardzo proszę o wskazówke, bo nie mam pojecia co może byc nie tak. Próbowałem przerobić na swoje potrzeby skrypt z postu http://forum.php.pl/index.php?showtopic=681 , który po przerobieniu na moje potrzeby zachowywał się tak samo jak ten "mój", czyli pierwsza strona ok, a już pozostałe nie wyświetlają wyników zgodnie z warunkami.
Coś mi chodzi po głowie, że może w jakiś sposób wartość zmiennej $klucz nie jest przekazywana do podstron, ale jak to zrobić? Coś czytałem kiedyś o global() czy coś w tym stylu, ale czy to by pomogło?
Pozdrawiam