OK zrobilam tak zeby przechodzil do kolejnych stron odpowiadajacych numerkom a nie do jakiejs innej.
Zrobilam licznik zeby wyswietlal mi przy produktach numer porzadkowy ale niestety tylko wyswietla mi 25 od 1-25 na kazdej podstronie a znalazl np 200 chcialabym zeby na stronie [2] wyswietlil od 26-50 a nie znowu od 1-25 itd..
I jeszcze ostatnia pozycja pozostaje pusta. podaje numer 25, i nie wyswietla produktu.
Poza tym nadal nie potrafie polaczyc tego wyswietlania w partiach z wyszukiwarka czyli wyswietla mi rekordy podzielone po 25 na stronie ale sa to wszystkie rekordy z tabeli a ja chce tylko te krore spelniaja kryterium wyszukiwarki :((
Zdaje sobie sprawe ze pewnie pytam tu o jakies banalne rzeczy i glupie bledy robie ale od miesiaca w zasadzie mam stycznosc z php wiec... stram sie najpierw cos znalezc i probuje cos wymyslac ale mam straszne braki w wiedzy na ten temat. Opieram sie glownie na juz istniejacych kodach i tyllko staram sie je dopasowac do aktualnej sytuacji.
Jesli ktos moze mi pomoc polacvzyc te dwa kody (wyszukiwarka i wyswietlanie partiami) to bede bardzo wdzieczna. A swoja droga nadal bede probowala cos robic i szukac.
podaje jeszcze raz razem kody
wyszukiwarka:
// wy¶wietlenie nagłówka
echo'<h2>Wyniki wyszukiwania</h2>';
// usunięcie niepotrzebnych białych znaków
$_POST['phrase']=trim($_POST['phrase']);
// sprawdzenie, czy użytkownik wpisał dane
if(empty($_POST['phrase']))
// je¶li nie, to wy¶wietl komunikat i zakończ działanie skryptu
die('Formularz wypełniony niepoprawnie! Nie można wy¶wietlić wyników wyszukiwania!');
// je¶li jednak dane s± wpisane poprawnie
else
{
// poł±czenie z baz± danych, NIE ZAPOMINJ USTAWIĆ WŁASNYCH DANYCH!
$base=mysql_connect('sql','admin','haslo','baza');
mysql_select_db("baza",$base);
// skonstruowanie zapytania
// zwróć uwagę na operator Like - to on jest sercem całej aplikacji. Pozwala wyszukać dany ci±g w bazie danych
// jak zapewne zauważyłe¶, przed fraz± i po niej umieszczam znaki procenta %
// ten znak symbolizuje dowolny inny ci±g znaków, więc jest niezbędny do skutecznego wyszukiwania
// połaczenie operatorem Or pozwala na wyszukiwanie danego ci±gu zarówno w nazwie, jak i opisie produktu
// UWAGA! Tutaj też nie zapomnij ustawić swoich danych!
$query="Select * From produkt Where nazwa_produktu Like '%{$_POST['phrase']}%'";
// wysłanie zapytania do bazy danych
$result=mysql_query($query,$base) or die(mysql_error());
// ustalenie ilo¶ci wyszukanych obiektów
$obAmount=mysql_num_rows($result);
// wyswietlenie ilo¶ci wyszukanych obiektów
echo'Znaleziono: '.$obAmount.'<br /><br />';
// wy¶wietlenie wyników w pętli
for($x=0;$x<$obAmount;$x++)
{
// przekształcenie danych na tablicę
$row=mysql_fetch_assoc($result);
// wy¶wietlenie numeru identyfikacyjnego
echo $x+1;
echo '. ';
// wy¶wietlenie nazwy produktu
echo '<a href="index.php?modul=pokaz_produkt&id_produktu='.$row['id_produktu'].'">'.$row['nazwa_produktu'].'</a>';
echo'<br />';
}
}
wyswietlanie partiami:
//Poł±czenie z mysql i wybranie bazy
$link=mysql_connect('sql','admin','haslo','baza');
mysql_select_db("baza",$link);
//Domy¶lne warto¶ci, odpowiednio liczby rekordów na strone i przesunięcia
$count=25;
$offset=0;
//Pobranie danych z $_GET jezsli ustawione
if(isset($_GET['count']))$count = $_GET['count'];
if(isset($_GET['offset']))$offset = $count*$_GET['offset']; //numer strony
//Pobranie liczby rekordów
$sql = 'Select count(*) from produkt';
$result = mysql_query($sql,$link);
$r = mysql_fetch_array($result);
//Liczba stron, użycie ceil - zaokr±glenie w górę, w celu zapewnienia, że żadna strona się nie straci
$pages = ceil($r[0]/$count);
//Pobranie odpowieniej paczki
$sql = 'Select * from produkt Limit '.$count.' offset '.$offset.';';
$result = mysql_query($sql,$link);
//Pocz±tek tabeli
// echo '<table><tr><th>lp.</th><th>nazwa produktu</th></tr>';
$obAmount=mysql_num_rows($result);
//Pętla po wszystkich rekordach
while(($row=mysql_fetch_array($result))!=NULL){
for($x=0;$x<$obAmount;$x++){
$row=mysql_fetch_assoc($result);
// wy¶wietlenie numeru identyfikacyjnego
echo $x+1;
echo '. ';
echo '<a href="index.php?modul=pokaz_produkt&id_produktu='.$row['id_produktu'].'">'.$row['nazwa_produktu'].'</a>';
echo'<br />';
//echo '<tr><td>'.$row['nazwa_produktu'].'</td><td>'.$row['data']. '</td><td>'.$row['cena'].'</td></tr>';
}
//echo '</table>';
//Pętla po stronach
for($i=0;$i<$pages;$i++){
//je¶li obecna strona, nie twórz linku do strony
if($i*$count==$offset){
echo ' '.$i.' ';
}else{
echo '<a href="search1.php?count='.$count.'&offset='.$i.'"> '.$i.' </a>';
}
}
}