efrdimitrov
Registered
Използвам по долния код за странициране това е търсене по градове когато посоча даден град при първото търсене ми изкарва всичко наред
например 10 заявки и ми изкарва 3 страници понеже съм съм с по 4 на страница но като кликна на следваща ми изкарва всичките обяви налични и ако кликна на същата страница пак всички и получавам грешка:Notice: Undefined index: search in D:\TUK\xampp\htdocs\search-grad.php on line 8 как да стане благодаря на всички
<?php
$tarsene = $_GET['search'];
$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/* DA NE SE PROMENQ*/");/*NE GO TRII*/
// определяме колко реда да ни показва. В случая 20 на страница.
$broinastranica = 4;
// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$pageNum = 1;
// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = "SELECT id, kategoriq, text, ime, tel, grad, cena, data, email, ip FROM publikuvai WHERE c = '1' AND grad LIKE '%$tarsene%'".
" LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($result))
{
echo "<a title='ВИЖ ЦЯЛАТА ОБЯВА' href='pregled.php?id=$row[id]'><table width='712' border='1' bgcolor='cdcdcd' align='center'>";
include "table.php";
echo"</table></a><br />";
}
// проверяваме таблицата колко редове има
$query = "SELECT COUNT(id) AS numrows FROM publikuvai WHERE c = '1' AND grad LIKE '%$tarsene%'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$broinastranica);
$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}}
// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]
if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> <<< </a> ";
$parva = " <a href=\"$self?page=1\">първа</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> >>> </a> ";
$posledna = " <a href=\"$self?page=$maxPage\">последна</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
// показваме
echo " <p align='center'> $parva $predishna $nomeranastranici $sledvashta $posledna ";
include "krai.php"
?>
например 10 заявки и ми изкарва 3 страници понеже съм съм с по 4 на страница но като кликна на следваща ми изкарва всичките обяви налични и ако кликна на същата страница пак всички и получавам грешка:Notice: Undefined index: search in D:\TUK\xampp\htdocs\search-grad.php on line 8 как да стане благодаря на всички
<?php
$tarsene = $_GET['search'];
$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/* DA NE SE PROMENQ*/");/*NE GO TRII*/
// определяме колко реда да ни показва. В случая 20 на страница.
$broinastranica = 4;
// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$pageNum = 1;
// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = "SELECT id, kategoriq, text, ime, tel, grad, cena, data, email, ip FROM publikuvai WHERE c = '1' AND grad LIKE '%$tarsene%'".
" LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($result))
{
echo "<a title='ВИЖ ЦЯЛАТА ОБЯВА' href='pregled.php?id=$row[id]'><table width='712' border='1' bgcolor='cdcdcd' align='center'>";
include "table.php";
echo"</table></a><br />";
}
// проверяваме таблицата колко редове има
$query = "SELECT COUNT(id) AS numrows FROM publikuvai WHERE c = '1' AND grad LIKE '%$tarsene%'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$broinastranica);
$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}}
// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]
if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> <<< </a> ";
$parva = " <a href=\"$self?page=1\">първа</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> >>> </a> ";
$posledna = " <a href=\"$self?page=$maxPage\">последна</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
// показваме
echo " <p align='center'> $parva $predishna $nomeranastranici $sledvashta $posledna ";
include "krai.php"
?>