efrdimitrov
Registered
Гледах всички теми, който са има ли проблем с търсачка и странициране, но не можах да разбера как да направя моя код.Когато търся по даден критерии ми показва в зависимост от това колко резултата имам една или повече страници.Тоест аз имам 10 на страница резултата, изчислява ги и ми показва ако 25 например 3 страници.До тук всичко е наред, проблема идва когато отворя друга страница различна от 1-та.Тогава ми изкарва всички заявки и ако в първата ми е показвало:http://localhost/search.php?kategoriq=&grad=%D1%EE%F4%E8%FF&text=
то в 2-та ми показва:http://localhost/search.php?page=2
ето го и кода:
благодаря на всички който помогнат
то в 2-та ми показва:http://localhost/search.php?page=2
ето го и кода:
PHP:
<?php include "tarsene.php"; ?>
<?php
$kategoriq = (isset($_GET['kategoriq']) ? $_GET['kategoriq'] : "");
$grad = (isset($_GET['grad']) ? $_GET['grad'] : "");
$text = (isset($_GET['text']) ? $_GET['text'] : "");
$server = "localhost";
$dbusername = "root";
$dbpassword = "***";
$db_name = "obqvi";
mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
mysql_select_db($db_name) or die("Грешна база данни");
mysql_query("SET names cp1251");
$pp = "10";
$page = 1;
if(isset($_GET['page']))
{
$page = (int)$_GET['page'];
}
$redove = ($page - 1) * $pp;
function cutes($post_text, $simvola_text) {
if (strlen($post_text)>$simvola_text)
{$totchkit='...';}
else
{$totchkit='';}
return substr($post_text,0 , $simvola_text).$totchkit;
}
$query = "SELECT * FROM `publikuvai` WHERE `text` LIKE '%$text%' AND `kategoriq` LIKE '%$kategoriq%' AND `grad` LIKE '%$grad%'" .
"LIMIT $redove, $pp";
$result = mysql_query($query) or die('Error, query failed 1');
while($row = mysql_fetch_array($result))
{
$row['text'] = cutes($row['text'], 90);
echo "<a href='pregled.php?id=$row[id]' data-tooltip='sticky1'>";
echo "<div id='mystickytooltip' class='stickytooltip'>
<div style='padding:5px'>
<div id='sticky1' class='atip'>
<img src='upload/$row[rand_file_name1]' width='100px'></div>
</div></div>";
echo "<table style='background-color: cdcdcd; border-color: 000; width: 712px;' class='rounded' border='4' bgcolor='cdcdcd' align='center'>";
include "table.php";
echo"</table></a><br />";
}
$query = "SELECT COUNT(id) AS max FROM publikuvai WHERE `text` LIKE '%$text%' AND `kategoriq` LIKE '%$kategoriq%'
AND `grad` LIKE '%$grad%'";
$result = mysql_query($query) or die('Error, query failed 2');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$max = $row['max'];
$total= ceil($max/$pp);
$self = $_SERVER['PHP_SELF'];
if($max > 0) {
echo "<center><p aling='top'><b>Намерени обяви: $max</b.</p></center>";
}
else{
echo "<center><font size='5' color='8a1717'><b>Няма намерени резултати,<br>опитай други критерии!</b></font></center>";
}
echo "<center>";
if ($page > 1) {
$prev = ($page - 1);
echo "<a href=\"?page=$prev\" class='pagestrelki'><b> <<< </b></a> ";
}
else echo "<b class='pagestrelki'> <<< </b> ";
if (!$page or ($page > $total)) {
$page="1";
}
if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b class='pagepasiv'>[$i]</b> ";
}
else {
echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b class='pagepasiv'>[$i]</b> ";
}
else {
echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
}
if ($page <= 3) {
if ($page == 3) echo "<a href=\"?page=4\" class='pageact'>4</a> ";
echo "<b> ... </b>";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
if ($page == 5) echo "<a href=\"?page=4\" class='pageact'>4</a>";
if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b class=\"pagepasiv\">[$i]</b> ";
else echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
echo "<b> ... </b>";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "<b> ... </b>";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b class=\"pagepasiv\">[$i]</b> ";
else echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
echo "<b> ... </b>";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
if ( $page > ($total - 5) ) { /* KRAINITE */
echo "<b> ... </b>";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b class='pagepasiv'>[$i]</b> ";
else echo "<a href=\"?page=".$i."\" class='pageact'>".$i."</a> ";
}
}
}
if ($page < $total) {
$next = ($page + 1);
echo "<a href=\"?page=$next\" class='pagestrelki'><b> >>> </b></a> ";
}
else { echo "<b class='pagestrelki'> >>> </b>"; }
echo "</center>";
?>