|
|
|
| Форма
<form action="view_search11.php" method="post" name="form_s">
<input name="search" type="text" size="85" maxlength="40" />
<input class="search_b" name="submit_s" type="submit" value="Искать" />
<input type="checkbox" name="mini_img" <?php echo '$checked;' ?> id="checkbox"/>
</form>
view_search11.php
-----------------------------------------------------------------
<?php
$checked = isset($_POST['mini_img']) ? "checked='checked'" : null;?>
<? include ("blocks/bd.php");
session_start();
$checked = isset($_POST['mini_img']) ? "checked='checked'" : null;
if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $cat)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
if (isset($_POST['submit_s11']))
{
$submit_s = $_POST['submit_s11'];
}
if (isset($_POST['search']))
{
$search = $_POST['search'];
}
if (isset($submit_s))
{
if (isset($_POST['mini_img11']))
{
$mini_img = $_POST['mini_img11'];
}
if(isset($_POST['mini_img11'])){
}
$result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM data WHERE secret=0 AND cat='$cat' AND `text` like '%$search%'");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$slovo = 'admin';
if (isset($_POST['mini_img'])){
$result = mysql_query("SELECT id,title,mini_img,text FROM data WHERE
`text` like '%$search%' AND `mini_img` Like='$slovo' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);
} else
{
$result = mysql_query("SELECT id,title,mini_img,text FROM data WHERE `text` like '%$search%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);
}
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
$_SESSION['search'] = $search; // если $seach объявлен успешно
$session = $_SESSION['search'];
}
else
{
exit("<p>Вы обратились к файлу без необходимых параметров.</p>");
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><? echo "Заметки по запросу - $search "; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" height="261" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="100%"> <? include ("fffff.php"); ?></td>
</tr>
<tr>
<td width="75%" height="109" align="left" valign="baseline"> </p>
<table width="27%" border="0">
<tr>
<td><? include ("blocks/lefttd.php"); ?></td>
</tr>
</table>
<p> </p>
<p><?
if (!$result)
{
echo "<p>Запрос не выполнен. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
$r = $myrow["rating"]/$myrow["q_vote"];
$r = intval($r);
printf ("<br><table align='center' class='post'>
<tr>
<td class='post_title'>
<a href='%s' target='_blank' width='155' height='103' border='0'><p class='post_name'><img class='mini' align='left' border-image='000000' <img src='%s' width='80' height='80' alt='' </a></p>
<a><p class='post_adds'>Дата: %s </p>
<p class='post_adds'> %s</p>
<p class='post_adds'><strong>Цена: %s</strong> </p></a></td>
</tr>
</table><br><br>",$myrow["mini_img"],$myrow["mini_img"],$myrow["text"], $r);
}
while ($myrow = mysql_fetch_array($result));
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=view_search11.php?cat='.$cat.'&page=1>Первая</a> | <a href=view_search11.php?cat='.$cat.'&page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=view_search11.php?cat='.$cat.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=view_search11.php?cat='.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=view_search11.php?cat='.$cat.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=view_search11.php?cat='.$cat.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=view_search11.php?cat='.$cat.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=view_search11.php?cat='.$cat.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=view_search11.php?cat='.$cat.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
else
{
echo "<p>Информация не найдена.</p>";
exit();
}
?> </p></td>
<td width="25%"> </td>
</tr>
</tr>
</table>
Поиск с checkbox работает без навигации
Нужно с навигацией по страницам ??? Первую страницу выводит по запросу а последующие все подряд выводит | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 17:07)
| | в ссылки постраничного перехода добавьте нужный GET-параметр | |
|
|
|
|
|
|
|
для: lotanaen
(31.05.2011 в 17:17)
| | GET -параметр куда вставить ? | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 17:24)
| | вот в эти ссылки например:
if($page - 5 > 0) $page5left = ' <a href=view_search11.php?cat='.$cat.'&page='. ($page - 5) .($param?"¶m=$param":"").'>'. ($page - 5) .'</a> | ';
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(31.05.2011 в 17:29)
| | ($param?"¶m=$param":"").'>'. ($page - 5) .'</a> | ';
$param?---что означает | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 17:32)
| | это условное значение для примера - вы можете любое другое обозначить - оно должно быть не пустым если чекбокс отмечен и наоборот... ну и обрабатывайте его каждый раз в скрипте... можно, как чуть раньше написал, значение полю чекбокс присваивать и mini_img использовать тогда, только тогда вывод формы чуть подправьте... | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 17:24)
| | можно в checkbox значение value установить для удобства и его передавать в ссылка постраничных... | |
|
|
|
|
|
|
|
для: Lotanaen
(31.05.2011 в 17:33)
| | value установить ?
нужно переключатель сделать "если то" то | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 17:38)
| | так checkbox как обычно и будет работать, только в переменной mini_img будет переданное вами значение value - с ним и при выводе формы работайте(установка/не установка флага) и при определении далее в скриптах... если флаг установлен то форма передаст value, если нет, то она пустая будет...
можно и новую переменную ввести... | |
|
|
|
|
|
|
|
для: Lotanaen
(31.05.2011 в 17:42)
| | exit("<p>Вы обратились к файлу без необходимых параметров.</p>");
на вторую перехожу пишет т.е. не ищет ? | |
|
|
|
|
|
|
|
для: mnbvcxz11
(31.05.2011 в 18:00)
| | поиск работает без навигации есть ли пример | |
|
|
|