|
|
|
| Собственно вопрос в заголовке. Скажите пожалуйста никто не сталкивался в работе с этой библиотекой. А то я никак не могу разобраться. Есть простой код, который выводит результаты поиска с постраничной навигацией на страницу, как прикрутить с помощью, этой библиотеки вывод результатов поиска в текстовый процессор.
Спасибо
Вот собственно код с выводом результата поисков
<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
// Устанавливаем соединение с базой данных
include_once ("top_search.php");
include_once ("../../bl_script/config.php");
$pages=1;
$search1=$_REQUEST['search1'];
$search2=$_REQUEST['search2'];
//Число строк которые отвечают параметрам
$str=mysql_query("SELECT * FROM $table WHERE province LIKE '%".$search1."%' AND class LIKE '%".$search2."%'");
$num_p=mysql_num_rows($str);
//Нічого не знайдено
if ($num_p==0) {
echo "<p style='font-size:14pt;text-align:center;'>По Вашому запиту: <span style='color:green;'>".$search1." + ".$search2."</span> не знайдено жодних співпадінь.<br> Змініть будь-ласка параметри пошуку.</p>";}
//Нічого не знайдено
//Щось знайдено
else {
echo "<p style='font-size:14pt;'>Всього знайдено ".$num_p." запис(ів), що відповідають даному критерію. Ви шукали <span style='color:green;'>".$search1." + ".$search2."</span></p>";
echo "<br />";
// Переменная хранит число сообщений выводимых на станице
$num = 10;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM $table WHERE province LIKE '%".$search1."%' AND class 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 $table WHERE province LIKE '%".$search1."%' AND class LIKE '%".$search2."%' order by inv_n ASC LIMIT $start, $num" );
$num=mysql_num_rows($query);
echo "<table border='0' class='sortable' id='howers'>";
echo "<thead>";
echo "<th nowrap>Інв. <br />номер</th>
<th nowrap>Відділ</th>
<th nowrap>Клас</th>
<th nowrap>Родина</th>
<th nowrap>Рід</th>
<th nowrap>Вид</th>
<th nowrap>Першовизначення</th>
<th nowrap>Підвид</th>
<th nowrap>Країна</th>
<th nowrap>Область</th>
<th nowrap>Район</th>
<th>Населений пункт</th>
<th>Регіон</th>
<th>Фізико-географічний район</th>
<th>Місце збору</th>
<th>Біотоп</th>
<th>Зона</th>
<th>Довгота</th>
<th>Широта</th>
<th>Дата збору</th>
<th>Зібрав</th>
<th>Визначив</th>
<th>Перевизначив</th>
<!--<th>Оператор вводу</th>
<th>Дата вводу</th>-->
<th>Стан зразка</th>
<th>Примітки</th>
<!--<th>Фото</th>
<th>Карта</th>-->
</thead>";
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($query))
echo "<tbody>";
for($i = 0; $i < $num; $i++)
{
echo "<tr><td nowrap> ".$postrow[$i]['inv_n']."</td>";
echo "<td nowrap> ".$postrow[$i]['h_taxon']."</td>";
echo "<td nowrap> ".$postrow[$i]['class']."</td>";
echo "<td nowrap> ".$postrow[$i]['fam']."</td>";
echo "<td nowrap> ".$postrow[$i]['gen']."</td>";
echo "<td nowrap> ".$postrow[$i]['spec']."</td>";
echo "<td nowrap> ".$postrow[$i]['pdet']."</td>";
echo "<td nowrap> ".$postrow[$i]['sspec']."</td>";
echo "<td nowrap> ".$postrow[$i]['country']."</td>";
echo "<td nowrap> ".$postrow[$i]['province']."</td>";
echo "<td nowrap> ".$postrow[$i]['district']."</td>";
echo "<td nowrap> ".$postrow[$i]['town']."</td>";
echo "<td nowrap> ".$postrow[$i]['reg']."</td>";
echo "<td nowrap> ".$postrow[$i]['region']."</td>";
echo "<td nowrap> ".$postrow[$i]['point']."</td>";
echo "<td nowrap> ".$postrow[$i]['biotop']."</td>";
echo "<td nowrap> ".$postrow[$i]['zone']."</td>";
echo "<td nowrap> ".$postrow[$i]['dowgota']."</td>";
echo "<td nowrap> ".$postrow[$i]['shyrota']."</td>";
echo "<td nowrap> ".$postrow[$i]['date']."</td>";
echo "<td nowrap> ".$postrow[$i]['coll']."</td>";
echo "<td nowrap> ".$postrow[$i]['det']."</td>";
echo "<td nowrap> ".$postrow[$i]['redet']."</td>";
//echo "<td nowrap> ".$postrow[$i]['operator']."</td>";
//echo "<td nowrap> ".$postrow[$i]['in_date']."</td>";
echo "<td nowrap> ".$postrow[$i]['select_stan']."</td>";
echo "<td nowrap> ".$postrow[$i]['rem']."</td>";
//echo "<td nowrap> ".$postrow[$i]['photo']."</td>";
//echo "<td nowrap> ".$postrow[$i]['map']."</td>";
echo "</tr>";
}
?>
</tbody><tfoot></tfoot></table>
<script type="text/javascript">
//Подсветка по клику и при наведении мышки на ряд, множественный выбор по клику разрешен
highlightTableRows("howers","hoverRow","clickedRow");
</script>
<br />
<?
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '
<a <a onMouseOver="this.style.background = \'lightgray\';this.style.color=\'white\'" onMouseOut="this.style.background = \'white\';;this.style.color=\'blue\'" class="paginator" class="paginator" href= ./prov_class.php?page='.($pages).'&search1='.$search1.'&search2='.$search2.'> << </a>
<a class="paginator" href= ./prov_class.php?page='.($page - 1).'&search1='.$search1.'&search2='.$search2.'> < </a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage =
'<a class="paginator" href= ./prov_class.php?page='.($page + 1).'&search1='.$search1.'&search2='.$search2.'> ></a>
<a class="paginator" href= ./prov_class.php?page=' .$total. '&search1='.$search1.'&search2='.$search2.'> >></a> ';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = '
<a class="paginators" href= ./prov_class.php?page='. ($page - 2) .'&search1='.$search1.'&search2='.$search2.'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '
<a class="paginators" href= ./prov_class.php?page='. ($page - 1) .'&search1='.$search1.'&search2='.$search2.'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '
<a class="paginators" href= ./prov_class.php?page='. ($page + 2) .'&search1='.$search1.'&search2='.$search2.'>'. ($page + 2) .'</a> ';
if($page + 1 <= $total) $page1right = '
<a class="paginators" href= ./prov_class.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;
};
?></div></body></html>
|
| |
|
|