Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem ze stronicowaniem
michal_86
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


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!
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pablo89pl
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


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...
Go to the top of the page
+Quote Post
michal_86
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


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 !
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 23:39