|
|
|
| прошу прощения за длинный пост,
дело в том, что когда выполняется первый результат запроса, то выводятся результаты и навигация, но стоит перейти на вторую страницу, сразу пишет ошибку первой строки кода, т. е. получается второй странице не передается параметр поиска.
как можно передать параметр $_POST['search'] во все выводы результатов, или я не правильно вообще организовал поисковую систему?
$text=$_POST['search'];
$type="msg";
if(!$text)
{
echo "<div class=\"b\" align=\"center\">Вы не ввели критерий поиска!</div>";
}
$msconnect=@mysql_connect($mshost, $msuser, $mspassword);
@mysql_select_db($msname, $msconnect);
$sql="SELECT * FROM roma where ".$type." like '%".$text."%'"; //??????????????????????????
$result=@mysql_query($sql, $msconnect);
if(!$result) exit("<div class=\"ss\">Error!</div>");
$posts=mysql_num_rows($result);
if(!$posts) exit("<div class=\"ss\">Error!</div>");
$total=intval(($posts-1)/$pnumber)+1; //получилось $total страниц
if(!empty($_GET['page']))
{
if($page<=0) $page=1;
elseif($page>$total) $page=$total;
}
else
{
$page=1;
}
echo "<div class=\"ss\">";
// Проверяем нужны ли стрелки
if($page!=1)
{
$pervpage ='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'." "."Назад"." ".'</a>';
echo $pervpage;
}
//'<a href= ./n_kn_k.php?page=1>'." "."|<<"." ".'</a>'
if($page-2>0)
{
$page2left=" "."..."." ".'<a href='."$_SERVER[PHP_SELF]".'?page='.($page-2).'>'." ".($page-2)." ".'</a>';
echo $page2left;
}
if($page-1>0)
{
$page1left='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'." ".($page-1)." ".'</a>';
echo $page1left;
}
echo "<font color=\"#FF0000\"><b>"." ".$page." "."</b></font>";
if($page+1<=$total)
{
$page1right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'." ".($page+1)." ".'</a>';
echo $page1right;
}
if($page+2<=$total)
{
$page2right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+2).'>'." ".($page+2)." ".'</a>'." "."..."." ";
echo $page2right;
}
if($page!=$total)
{
$nextpage='</a><a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'." "."Вперёд"." ".'</a>';
echo $nextpage;
}
//. '<a href= ./n_kn_k.php?page='.($total).'>'." ".">>|"." ";
echo "</div>";
echo "<br>";
$start=(($page-1)*$pnumber);
$sql="SELECT * FROM roma where ".$type." like '%".$text."%'"."LIMIT $start, $pnumber";
$result=@mysql_query($sql, $msconnect);
if(!$result) exit("Error");
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
$pn=$row['pn'];
$proz=$row['proz'];
$calc=$row['calc'];
$name=$row['name'];
$msg=$row['msg'];
$mobile=$row['mobile'];
$email=$row['email'];
echo "
<table width=\"788\">
<tr>
<td>
<div class=\"contur\"><div class=\"end\">
<div class=\"t\">$msg</div>
<div class=\"i\" align=\"right\">$mobile, $name</div>
</div></div></td>
</tr>
</table>";
}
}
echo "<div class=\"ss\">";
// Проверяем нужны ли стрелки
if($page!=1)
{
$pervpage ='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'." "."Назад"." ".'</a>';
echo $pervpage;
}
//'<a href= ./n_kn_k.php?page=1>'." "."|<<"." ".'</a>'
if($page-2>0)
{
$page2left=" "."..."." ".'<a href='."$_SERVER[PHP_SELF]".'?page='.($page-2).'>'." ".($page-2)." ".'</a>';
echo $page2left;
}
if($page-1>0)
{
$page1left='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'." ".($page-1)." ".'</a>';
echo $page1left;
}
echo "<font color=\"#FF0000\"><b>"." ".$page." "."</b></font>";
if($page+1<=$total)
{
$page1right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'." ".($page+1)." ".'</a>';
echo $page1right;
}
if($page+2<=$total)
{
$page2right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+2).'>'." ".($page+2)." "." "."..."." ".'</a>';
echo $page2right;
}
if($page!=$total)
{
$nextpage='</a><a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'." "."Вперёд"." ".'</a>';
echo $nextpage;
}
//. '<a href= ./n_kn_k.php?page='.($total).'>'." ".">>|"." ";
echo "</div><br>"; | |
|
|
|
|
|
|
|
для: Рома
(25.10.2008 в 22:04)
| | в каждой порождаемой ссылке навигации Вам придется повторить все параметры поиска, изначально пришедшие из формы. По этой причине, кстати, и саму форму имеет смысл обрабатывать методом GET, а не POST - это обычная практика для поисковых систем. | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2008 в 22:16)
| | Вы имеете ввиду ссылку такого типа, правильно?
http://localhost/result.php?page=1&text=Чему-то
или
http://localhost/result.php?text=Чему-то&page=1 | |
|
|
|
|
|
|
|
для: Рома
(25.10.2008 в 22:23)
| | все нормально, посто я не мог себе представить, как в ссылку добавить русские буквы | |
|
|
|
|
|
|
|
для: Рома
(25.10.2008 в 22:43)
| | rawurlencode() | |
|
|
|