|
|
|
|
|
для: gghh
(17.10.2010 в 17:07)
| | Моё мыло linux_09@mail.ru | |
|
|
|
|
|
|
|
для: akmal
(17.10.2010 в 16:56)
| | Не вопрос соки "Садочок" или "Одеського заводу" то что надо. Да если не трудно киньте мне на gg_hh@inbox.ru свою аську или мыло. Нужно с Вами переговорить с глазу на глаз об одном проекте, если Вы конечно заинтересованы и владеете свободным временем. Деньги там небольшие. | |
|
|
|
|
|
|
|
для: gghh
(17.10.2010 в 16:47)
| | Незачто....)))))
ЗЫ: Спасибо, но мне пива-то есче нельзя мне ток 14 стукнуло... | |
|
|
|
|
|
|
|
для: akmal
(17.10.2010 в 15:50)
| | Спасибо уважаемый akmal. Вы меня очень выручили. Будете проездом в г. Львове (Украина) с меня большая пицца и много львовского пива, оно у нас вкусное.
Еще раз спасибо | |
|
|
|
|
|
|
|
для: gghh
(17.10.2010 в 15:14)
| | Поменяйте все на следующее
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '
<a class="paginator" href= ./s.php?page='.($pages).'&search1='.$search1.'&search2='.$search2.'> << </a>
<a class="paginator" href= ./s.php?page='.($page - 1).'&search1='.$search1.'&search2='.$search2.'> < </a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage =
'<a class="paginator" href= ./s.php?page='.($page + 1).'&search1='.$search1.'&search2='.$search2.'> ></a>
<a class="paginator" href= ./s.php?page=' .$total. '&search1='.$search1.'&search2='.$search2.'> >></a> ';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = '
<a class="paginators" href= ./s.php?page='. ($page - 2) .'&search1='.$search1.'&search2='.$search2.'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '
<a class="paginators" href= ./s.php?page='. ($page - 1) .'&search1='.$search1.'&search2='.$search2.'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '
<a class="paginators" href= ./s.php?page='. ($page + 2) .'&search1='.$search1.'&search2='.$search2.'>'. ($page + 2) .'</a> ';
if($page + 1 <= $total) $page1right = '
<a class="paginators" href= ./s.php?page='. ($page + 1) .'&search1='.$search1.'&search2='.$search2.'>'. ($page + 1) .'</a> ';
?>
|
| |
|
|
|
|
|
|
|
для: gghh
(13.10.2010 в 20:24)
| | Извиняюсь я зря похвалился. Скрипт не работает. Так как я его переделал, он при нажатие на следующую страницу выводит все записи с базы, вместо того что б выводить только те, что отвечают параметрам. Народ помогите доделать скрипт, в этой части где-то ошибка, помогите найти
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./page?page=1&search1=$search1&search2=$search2><<</a>
<a href= ./page?page='. ($page - 1) .'&search1=$search1&search2=$search2><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./page?page='. ($page + 1) .'&search1=$search1&search2=$search2>></a>
<a href= ./page?page=' .$total. '&search1=$search1&search2=$search2>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./page?page='. ($page - 2) .'&search1=$search1&search2=$search2>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./page?page='. ($page - 1) .'&search1=$search1&search2=$search2>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./page?page='. ($page + 2) .'&search1=$search1&search2=$search2>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./page?page='. ($page + 1) .'&search1=$search1&search2=$search2>'. ($page + 1) .'</a>';
?>
|
| |
|
|
|
|
|
|
|
для: Николай2357
(13.10.2010 в 19:36)
| | Я и написал в тексте что скрипт дырявый, его нужно будет доработать, но это не трудно. Главное что сама постраничная навигация работает и не нужно разбираться в нагромождение кода. На днях протестирую его на большой базе. | |
|
|
|
|
|
|
|
для: gghh
(13.10.2010 в 19:27)
| | Вот о чем и говорила Лена в (04.10.2010 в 17:24)
Скрипт как был дырявым, так и остался... | |
|
|
|
|
|
|
|
для: gghh
(08.10.2010 в 20:48)
| | Всем привет
Еще раз хочу поблагодарить всех кто мне помог с решением задачи. Особення благодарность akmalu за подсказку в каком направлении двигаться. После некоторых доработок вот что получилось:
здесь форма для поиска:
<form action="s.php" method=POST target="_blank">
Pole1
<input type="text" name="search1" />
Pole2
<input type="text" name="search2" />
<input type="submit" value="search">
</form>
|
здесь дапм базы:
use image;
CREATE TABLE `tables` (
`id` tinyint(4) NOT NULL auto_increment,
`pole1` char(60) collate cp1251_bin NOT NULL default '',
`pole2` char(60) collate cp1251_bin NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;
INSERT INTO `tables` (`id`, `pole1`, `pole2`) VALUES
(7, 'pole', 'pole3'),
(6, 'pole', 'pole2'),
(3, 'pole', 'pole'),
(4, 'pole', 'pole'),
(5, 'pole1', 'pole'),
(8, 'pole', 'pole'),
(9, 'pole1', 'pole2'),
(10, 'pole1', 'pole1'),
(11, 'pole', 'pole'),
(12, 'pole', 'pole'),
(13, 'pole', 'pole'),
(14, 'pole', 'pole'),
(15, 'pole', 'pole'),
(16, 'pole', 'pole'),
(17, 'pole', 'pole'),
(18, 'pole', 'pole'),
(19, 'pole', 'pole'),
(20, 'pole', 'pole');
|
и сам скрипт, немного переработаный, возможно кому-то пригодится. Конечно его нужно доработать, добавить фильтрацию
полей и защиту от иньекций и фильтрацию. Но это не трудно реализировать. Вот сам переработанный скрипт
html><head><style>
a.paginator {text-decoration:none;font-size:12pt;color:blue;border:solid 1px lightgray;padding:3px;}
a.paginators {text-decoration:none;font-size:13pt;color:blue;border:solid 1px lightgray;padding:3px;}
</style></head>
<?php
$host="localhost";
$user="root";
$passw="";
$dbase="image";
$table="tables";
/*зєднання з БД*/
$db=mysql_connect($host,$user,$passw) or die ("<font color='red'>Error.</font>");
/*вибір БД*/
mysql_select_db($dbase) or die ("<font color='red'>Error.</font>");
$pages=1;
$search1=$_REQUEST['search1'];
$search2=$_REQUEST['search2'];
//Число строк которые отвечают параметрам
$str=mysql_query("SELECT * FROM $table WHERE pole1 LIKE '%".$search1."%' AND pole2 LIKE '%".$search2."%'");
$num_p=mysql_num_rows($str);
echo "<p style='font-size:14pt;'>Всього знайдено ".$num_p." запис(ів), що відповідають даному критерію.</p>";
echo "<br />";
// Переменная хранит число сообщений выводимых на станице
$num = 2;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM tables WHERE pole1 LIKE '%".$search1."%' AND pole2 LIKE '%".$search2."%'");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$query=mysql_query("SELECT * FROM tables WHERE pole1 LIKE '%".$search1."%' AND pole2 LIKE '%".$search2."%' LIMIT $start, $num" );
$num=mysql_num_rows($query);
echo "<table border=1><tr>";
echo "<td>ID</td>";
echo "<td>POLE 1</td>";
echo "<td>POLE 2</td>";
echo "</tr>";
while (list ($id,$pole1,$pole2) = mysql_fetch_row($query))
{
echo "<tr>";
echo "<td>".$id."</td>";
echo "<td>".$pole1."</td>";
echo "<td>".$pole2."</td></tr>";
}
echo "</table><br /><br />";
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '
<a class="paginator" href= ./s.php?page='.($pages).'search1=$search1||search2=$search2> << </a>
<a class="paginator" href= ./s.php?page='.($page - 1).'search1=$search1||search2=$search2> < </a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage =
'<a class="paginator" href= ./s.php?page='.($page + 1).'search1=$search1||search2=$search2> ></a>
<a class="paginator" href= ./s.php?page=' .$total. 'search1=$search1||search2=$search2> >></a> ';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = '
<a class="paginators" href= ./s.php?page='. ($page - 2) .'search1=$search1||search2=$search2>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '
<a class="paginators" href= ./s.php?page='. ($page - 1) .'search1=$search1||search2=$search2>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '
<a class="paginators" href= ./s.php?page='. ($page + 2) .'search1=$search1||search2=$search2>'. ($page + 2) .'</a> ';
if($page + 1 <= $total) $page1right = '
<a class="paginators" href= ./s.php?page='. ($page + 1) .'search1=$search1||search2=$search2>'. ($page + 1) .'</a> ';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<span style="font-size:16pt;color:blue;border:solid 1px lightgray;padding:3px;font-weight:bold;">'.$page.'</span>'.$page1right.$page2right.$nextpage;
?>
|
Еще раз всем спасибо за помощь | |
|
|
|
|
|
|
|
для: akmal
(08.10.2010 в 17:00)
| | Уважаемый akmal
просто доработать скрипт который я привел в первом сообщение. Сделать его максимально защищенным от иньекций. А навороты и красивости мне не нужны, главное чтоб искал и выводил результаты с постраничной навигацией. | |
|
|
|
|