Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как передать параметр из формы более, чем одному сценарию
 
 автор: Рома   (25.10.2008 в 22:04)   письмо автору
 
 

прошу прощения за длинный пост,
дело в том, что когда выполняется первый результат запроса, то выводятся результаты и навигация, но стоит перейти на вторую страницу, сразу пишет ошибку первой строки кода, т. е. получается второй странице не передается параметр поиска.
как можно передать параметр $_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).'>'."&nbsp;"."Назад"."&nbsp;".'</a>';
echo $pervpage;
}
//'<a href= ./n_kn_k.php?page=1>'."&nbsp;"."|<<"."&nbsp;".'</a>'
if($page-2>0)
{
$page2left="&nbsp;&nbsp;"."..."."&nbsp;&nbsp;".'<a href='."$_SERVER[PHP_SELF]".'?page='.($page-2).'>'."&nbsp;".($page-2)."&nbsp;".'</a>';
echo $page2left;
}
if($page-1>0)
{
$page1left='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'."&nbsp;".($page-1)."&nbsp;".'</a>';
echo $page1left;
}
echo "<font color=\"#FF0000\"><b>"."&nbsp;".$page."&nbsp;"."</b></font>";
if($page+1<=$total)
{
$page1right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'."&nbsp;".($page+1)."&nbsp;".'</a>';
echo $page1right;
}
if($page+2<=$total)
{
$page2right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+2).'>'."&nbsp;".($page+2)."&nbsp;".'</a>'."&nbsp;&nbsp;"."..."."&nbsp;&nbsp;";
echo $page2right;
}
if($page!=$total)
{
$nextpage='</a><a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'."&nbsp;"."Вперёд"."&nbsp;".'</a>';
echo $nextpage;
}
//. '<a href= ./n_kn_k.php?page='.($total).'>'."&nbsp;".">>|"."&nbsp;";
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,&nbsp;$name</div>
</div></div></td>
</tr>
</table>";
}
}

echo "<div class=\"ss\">";
// Проверяем нужны ли стрелки
if($page!=1)
{
$pervpage ='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'."&nbsp;"."Назад"."&nbsp;".'</a>';
echo $pervpage;
}
//'<a href= ./n_kn_k.php?page=1>'."&nbsp;"."|<<"."&nbsp;".'</a>'
if($page-2>0)
{
$page2left="&nbsp;&nbsp;"."..."."&nbsp;&nbsp;".'<a href='."$_SERVER[PHP_SELF]".'?page='.($page-2).'>'."&nbsp;".($page-2)."&nbsp;".'</a>';
echo $page2left;
}
if($page-1>0)
{
$page1left='<a href='."$_SERVER[PHP_SELF]".'?page='.($page-1).'>'."&nbsp;".($page-1)."&nbsp;".'</a>';
echo $page1left;
}
echo "<font color=\"#FF0000\"><b>"."&nbsp;".$page."&nbsp;"."</b></font>";
if($page+1<=$total)
{
$page1right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'."&nbsp;".($page+1)."&nbsp;".'</a>';
echo $page1right;
}
if($page+2<=$total)
{
$page2right='<a href='."$_SERVER[PHP_SELF]".'?page='.($page+2).'>'."&nbsp;".($page+2)."&nbsp;"."&nbsp;&nbsp;"."..."."&nbsp;&nbsp;".'</a>';
echo $page2right;
}
if($page!=$total)
{
$nextpage='</a><a href='."$_SERVER[PHP_SELF]".'?page='.($page+1).'>'."&nbsp;"."Вперёд"."&nbsp;".'</a>';
echo $nextpage;
}
//. '<a href= ./n_kn_k.php?page='.($total).'>'."&nbsp;".">>|"."&nbsp;";
echo "</div><br>";

  Ответить  
 
 автор: Trianon   (25.10.2008 в 22:16)   письмо автору
 
   для: Рома   (25.10.2008 в 22:04)
 

в каждой порождаемой ссылке навигации Вам придется повторить все параметры поиска, изначально пришедшие из формы. По этой причине, кстати, и саму форму имеет смысл обрабатывать методом GET, а не POST - это обычная практика для поисковых систем.

  Ответить  
 
 автор: Рома   (25.10.2008 в 22:23)   письмо автору
 
   для: Trianon   (25.10.2008 в 22:16)
 

Вы имеете ввиду ссылку такого типа, правильно?
http://localhost/result.php?page=1&text=Чему-то
или
http://localhost/result.php?text=Чему-то&page=1

  Ответить  
 
 автор: Рома   (25.10.2008 в 22:43)   письмо автору
 
   для: Рома   (25.10.2008 в 22:23)
 

все нормально, посто я не мог себе представить, как в ссылку добавить русские буквы

  Ответить  
 
 автор: Trianon   (25.10.2008 в 22:47)   письмо автору
 
   для: Рома   (25.10.2008 в 22:43)
 

rawurlencode()

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования