При программировании сетевой базы данных PHP необходимо учитывать отображение результатов записей базы данных. Чтобы представить красивую страницу и ускорить ее загрузку, записи базы данных должны отображаться на страницах.
Теперь я поделюсь с вами примером постраничного отображения записей базы данных MySQL, который прекрасно интегрируется с PHP.
База данных mysql — xinxiku, а таблица данных — шутка. Его оператор определения SQL выглядит следующим образом:
создать таблицу шутка (
id int(5) не null auto_increment,
biaoti varchar(40) не null,
текст neirong не ноль,
первичный ключ (id)
);
Описание поля:
id: номер записи, автоматически увеличивающийся и первичный ключ
biaoti: title
neirong: content
<html>
<head>
<title>Метод реализации постраничного отображения</title>
<meta http-equiv=”content-type” content=”text/html; charset=gb2312″>
<script Language=”javascript”>
/ * Определите всплывающее окно для отображения определенного содержимого*/
function popwin(url)
{
window.open(url,"","left=340, top=190, height=280, width=400, resizable=yes, полосы прокрутки = да, статус=нет, панель инструментов=нет, менюбар=нет, местоположение=нет”);
}
</script>
</head>
<body leftmargin=0 topmargin=0 rightmargin=0 >
<?php
//Подключаемся к базе данных
$db =mysql_connect("localhost","root","");
mysql_select_db("xinxiku",$db);
//Установим
количество записей, отображаемых на каждой странице
$pagesize=15;
записи и подсчитать общее количество страниц. Используйте
$res=mysql_query(»select count(*) from шутка»,$db
= mysql_fetch_array($res);
$numrows=$myrow[0];
//Подсчитайте общее количество; страниц
$pages=intval( $numrows/$pagesize);
if ($numrows%$pagesize)
$pages++
//Определите, установлен ли номер страницы или нет, определите ее как домашнюю страницу
if (!isset() $page))
$page=1;
//Определяем номер страницы
if (isset($ys))
if ($ys>$pages)
$page=$pages;
else
$page=$ys;
//Вычисляем смещение записи
$offset=$pagesize*($page- 1);
//
Получаем записи
$res=mysql_query("select id,biaoti из порядка шуток по лимиту идентификатора $offset,$pagesize" ,$db);
if ($myrow = mysql_fetch_array($res))
{
$i=0;
?>
<table width=”101%” border=”0″ cellpacing=”0″ cellpadding=”0″>
<tr>
<td width= ”5%” bgcolor=”#e1e9fb” ></td>
<td width=”95%” bgcolor=”#e1e9fb”><font color=”#ff6666″ size=”2″>Содержимое</font>< /td>
</tr>
<?php
do {
$i++;
?>
<tr>
<td width="5%" bgcolor="#e6f2ff"><?php echo $i;?></td>
<td width="95%" bgcolor="# e6f2ff"><font size="2″>
<a href="javascript:popwin('jokenr.php?id=<?php echo $myrow[0];?>' )" ><?php echo $myrow[ 1];?></a></font></td>
</tr>
<?php
}
while ($myrow = mysql_fetch_array($res));
echo “< /table>”
}
//Отображение общего количества страниц
echo "<div align='center'>Есть страницы ".$pages." ("$page."/".$pages.")<br> ";
//Отображение количества страниц
для ($i =1;$i<$page;$i++)
echo “<a href='fy.php?page=”.$i.”'>Page “.$ i .</a> «;
echo «Страница ".$page."page";
for ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fy. php?page=".$i."'> Страница ".$i."</a> ";
echo "<br>";
//Отображение номера страницы
echo "<form action='fy.php' метод ='post'> ";
//Рассчитываем значения домашней страницы, предыдущей страницы, следующей страницы и последней страницы
$first=1;
$prev=$page-1;
$next=$page+1;
$last= $страницы;
если ($страница>1)
{
echo «<a href='fy.php?page=».$first.»'>Домашняя страница</a> «;
echo «<a href='fy.php?page=».$prev.»'>Предыдущая . page</a> ";
}
if ($page<$pages)
{
echo "<a href='fy.php?page=".$next."'>Следующая страница</a> ";
echo " < a href='fy.php?page=».$last.'>Последняя страница</a> «;
}
echo «Перейти к <input type=text name=’ys’ size=’2’ value=» . $page.">Page";
echo "<input type=submit name='submit' value='go'>";
echo
"</form>";
echo "</div>"
;
</html>
Предыдущая страница 1 23 Описание следующей страницы
программы:
1. Описание переменной
Переменная $page: хранит номер текущей страницы, которая будет отображаться.
Переменная $pages: хранит общее количество страниц.
Переменная $offset: хранит смещение текущего номера страницы.
Переменная $pagesize: хранит количество записей, отображаемых на каждой странице.
2. Описание оператора MySQL
выберите id,biaoti из порядка шутки по идентификатору desc limit $offset,$pagesize
Предложение limit используется для ограничения количества строк, возвращаемых оператором выбора. Первый параметр в пределе указывает смещение первой возвращаемой строки, а второй параметр указывает максимальное количество возвращаемых строк, размер страницы.
Принцип реализации:
передать переменную страницу номера страницы в программу, вычислить смещение начальной позиции записи на основе переданного значения страницы при выборке записей, а затем получить набор записей на основе количества записей, которые необходимо отобразить на каждом размере страницы. Затем покажите это.
Функция реализации программы:
В программе предусмотрены два способа отображения страницы (при условии, что текущая страница является третьей).
1. Отобразите все номера страниц и укажите ссылки в соответствии с количеством страниц. На текущей странице ссылки не предоставляются. Это подходит, когда количество страниц не слишком велико. Стиль показан на рисунке 1:
/ShowImg.asp?p=/2006-3-29/19430aimagea1.jpg.
2. Укажите общее количество страниц и перелистывайте страницы через указанную домашнюю страницу, предыдущую страницу, следующую страницу, последнюю страницу и переходите к ней. Конечно, если текущая страница является каждой страницей, ссылки на домашнюю страницу и предыдущую страницу предоставлены не будут. Если текущая страница является последней, ссылки на следующую и последнюю страницы предоставлены не будут.
Предыдущая страница 1 2 3