Witam wszystkich forumowiczów.
Jako, że kończę pisać swoją stronę(została do zrobienia grafika) w wyszukiwarce chciałbym ograniczyć ilość wyświetlanych rekordów na jedną stronę.
Korzystam ze skryptu, który już mam napisany i działa przy innych plikach tutaj coś jest nie tak.
Ograniczył do wyświetlania 5 rekordów, ale pokazuje tylko pierwszą stronę. Rekordów w bazie jest 36 więc podzielić na 5=7 i trochę czyli 8 stron, a on pokazuje tylko 5 ostatnich. Nie bardzo wiem co jest źle.
Z góry dziękuje za pomoc.
Pozdrawiam (IMG:
style_emoticons/default/smile.gif)
szukaj.php
<?php
include('functions/filtr.php');
include('include/db.php');
$subpage = $_GET['page'];
$perPage = 5;
if (!empty($_GET['subpage'])) {
{
$subpage = (int) $_GET['subpage'];
}
}
if ($subpage < 1)
{
$subpage = 1;
}
$start = ($subpage - 1) * $perPage;
$_POST['wynik'] = trim(filtr
($_POST['wynik'])); if(empty($_POST['wynik'])) {
echo '<font color="red"><b>Formularz został wypełniony niepoprawnie!<br /> Nie można wyświetlić wyników wyszukiwania!</b></font>'; }
else
{
$zapytanie = "SELECT `id`, `tresc`, `adres`, `numer` FROM home WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM kontakt WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM oferta WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM o_mnie WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM portfolio WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `nazwa`, `adres`, `numer` FROM portfolio WHERE nazwa LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `technologia`, `adres`, `numer` FROM portfolio WHERE technologia LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `adres_strony`, `adres`, `numer` FROM portfolio WHERE adres_strony LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM reklama WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `tresc`, `adres`, `numer` FROM skrypty WHERE tresc LIKE '%{$_POST['wynik']}%'
UNION SELECT `id`, `nazwa`, `adres`, `numer` FROM skrypty WHERE nazwa LIKE '%{$_POST['wynik']}%' ORDER BY `id` DESC LIMIT ".filtr($start).", ".filtr($perPage)."";
{
echo'Znaleziono: '.$oblicz.'<br /><br />'; for($x=0;$x<$oblicz;$x++)
{
$wyrazy = substr($wiersz['tresc'], 0
, 50
).$wyraz[0
]; $wyraz = $wyrazy;
$array = array('','','','','','','','','[small]','[/small]', '[big]','[/big]','[p]','[/p]','','
','','', '','','[hr=([0-9]{1,2}|100)]','[/hr]');
echo '<a style="text-decoration: none;" href="'.$wiersz['adres'].'/'.$wiersz['numer'].'"><b>'.$wyrazek.'</b></a>'; }
}
$prev = $subpage - 1;
$next = $subpage + 1;
$prevLink = '/szukaj/subpage/'.$prev.'';
$nextLink = '/szukaj/subpage/'.$next.'';
echo '<div style="text-align:center;">'; if($subpage > 1)
echo'<a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a> '; $stron=round($ilosc_wierszy/$perPage); for($i=1; $i<=$stron; ++$i)
{
if($i==$subpage)
else
echo '<a style="text-decoration: none;" href="/szukaj/subpage/'.$i.'">'.$i.' </a>'; }
if($subpage < $stron)
echo ' <a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a>'; }
?>
PS. Nie pokazuje nawet napisów Następna strona, Poprzednia strona, a wpisując w adres przeglądarki /szukaj/subpage/2 wyświetla komunikat:
Formularz został wypełniony niepoprawnie!
Nie można wyświetlić wyników wyszukiwania!
Ten post edytował adrianozo 7.02.2010, 15:18:44