Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem ze stronicowaniem
Forum PHP.pl > Forum > Przedszkole
michal_86
Cześć

Zacznę od kodu - wyszukiwarka :

  1. if ($_GET['bdw1']=='2'){
  2. $start = $_GET['start'];
  3. $na_stronie = 3;
  4. if ($start==0){$start=0;}
  5. function prepare_string($string) {
  6. return substr($string, 0, 4); }
  7. $string = $_GET['szukaj'];
  8. $string = implode(" ", array_map("prepare_string", explode(" ", $string)));
  9.  
  10. $wykonaj =mysql_query("SELECT lokalizacja, tytul, id, opis FROM do500 WHERE match(Lokalizacja, opis) AGAINST('*$string*' IN BOOLEAN MODE) ORDER BY lokalizacja ");
  11. $znaleziono=mysql_num_rows($wykonaj);
  12. print '</center>';
  13.  
  14. $query = "SELECT lokalizacja, tytul, id, opis FROM do500 WHERE match(Lokalizacja, opis) AGAINST('*$string*' IN BOOLEAN MODE) order by lokalizacja desc LIMIT ".($start).",".$na_stronie."";
  15. $result = mysql_query ($query);
  16. while ($row = mysql_fetch_array($result))
  17. {
  18. echo" <tr valign=\"top\"><td>
  19. <a href=\"oferta.php?wysz=".$row['id']."\">".$row['lokalizacja']."</a>, ".$row['tytul']."</font></td><font size=\"-1\" face=\"arial, helvetica\"><td>
  20. <a href=\"oferta.php?wysz=".$row['id']." \"> opis</a>
  21. </font></td></tr> ";
  22. }
  23. if($znaleziono>$na_stronie) {
  24. print '<center>Strona ';
  25. for($i=0; $i<ceil($znaleziono/$na_stronie); $i++)
  26.  
  27. print '<a href="szukaj1.php?start='.($_GET['szukaj']).' & '.($i*$na_stronie).'">'.($i+1).'</a> | ';
  28. }
  29. }
  30. }


wynik wyskakuje - wyświetla mi numery stron 1 2 3 itd..ale gdy wcisnę przejście na drugą stronę z wynikami to wypada mi komunikat że nie wpisałem danych w formularzu - czyli nie przenosi mi danych. Jak przerobić ten kody by wszystko działało? Domyślam się że coś w tej linijce :
  1. print '<a href="szukaj1.php?start='.($_GET['szukaj']).' & '.($i*$na_stronie).'">'.($i+1).'</a> | ';
questionmark.gif

Wiem że można próbować za pomocą sesji..ale też z getem powinno działać? Chyba że jest jakiś błąd wyżej?

Pozdr!
nospor
Pisałem o tym tu:
http://nospor.pl/formularz-i-stronicowanie...-stanu-n26.html
opisałem dwie metody: sesje oraz url
Moze ci się przyda
pablo89pl
Na początek poczytaj to co wkleił nospor...

A jak mimo wszystko chcesz dalej sie paprać w tym g...który wkleiłeś to:

po pierwsze:
  1. echo '<a href="szukaj1.php?szukaj='.$_GET['szukaj'].'&start='.$_GET['start'].'&offset='.($i*$na_stronie).'">'.($i+1).'</a> | ';

a na poczatku gdzies kolo $na_stronie = 3 dodaj:
  1. $offset = $_GET['offset'];


i :
  1. $query = "SELECT lokalizacja, tytul, id, opis FROM do500 WHERE match(Lokalizacja, opis) AGAINST('*$string*' IN BOOLEAN MODE) order by lokalizacja desc LIMIT ".($start).",".$na_stronie."";

na:
  1. $query = "SELECT lokalizacja, tytul, id, opis FROM do500 WHERE match(Lokalizacja, opis) AGAINST('*$string*' IN BOOLEAN MODE) order by lokalizacja desc LIMIT '{$start}','{$na_stronie}'";


I próbuj szczęścia

generalnie wyrzuca Ci bo nie przekazales tekstu ktory szukasz w parametrze $_GET['szukaj'] tj. ?szukaj=tekst

Nastepnym razem wrzuc sformatowany wycinek kodu...to co wkleiłeś to masakra...wzsystko pomieszane(html,php)...nadmiarowe użycie podwójnego cudzysłowia itd...

Owocnej nauki...
michal_86
ok - poczytam popróbuję.

pozdr

ponieważ ten skrypt jest wewnątrz pewnego odrębnego warunku postanowiłem wpisać do linku kreującego stronicowanie stałe zmienne dla tego warunku - tak to wygląda :

  1. print '<a href="szukaj1.php?bdw=a&bdw1=2&szukaj='.$string.'&Szukaj=Szukaj&start='.$_GET['start'].'&offset='.($i*$na_stronie).'">'.($i+1).'</a> | ';


Warunki te wynikały ze skryptu, który podałem na początku
efekt jest taki że na każdym offsecie pokazuje ten sam wynik - i proszę nie bić - bo poszedłem trochę na skróty - czy da się to jakoś wyprostować tak pokazywało rzeczywiście te podzielone wyniki?

dzieli mi wyniki, dzieli mi offset..ale pokazuje tylko jeden wynik...







ok - już sobie poradziłem dzięki !
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.