|
|
|
| Доброй ночи!
Есть сайт, с базой данных. В базе хранятся 3 таблицы, таблица lessons, article и settings. Соответственно есть две страницы на сайте, страница добавления урока и страница добавления статьи.Как в моем случае, организовать постраничную навигацию на странице Уроки и на странице Статьи? По мере добавления статьи или урока в базу данных, их становится много, поэтому необходимо организовать постраничную навигацию.
Буду признателен за помощь :) | |
|
|
|
|
|
|
|
для: romanych12
(21.03.2010 в 23:44)
| | Много тем можно найти в поиске | |
|
|
|
|
|
|
|
для: romanych12
(21.03.2010 в 23:44)
| | может выложите коды? а там доработаем. | |
|
|
|
|
|
|
|
для: Рома
(22.03.2010 в 00:12)
| | таблица articles необходимо, чтобы на этой странице выводилось хотя бы по пять десять уроков
<?php
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='articles'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include ("blocks/lefttd.php"); ?>
<td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo $myrow['text']; ?>
<?php
$result = mysql_query ("SELECT id,title,description,author,date FROM article",$db);
$myrow = mysql_fetch_array ($result);
do {
printf ("<table align='center' class='lessons'>
<tr>
<td class='lessons_title'><p class='lessons_name'><a href='view_articles.php?id=%s'>%s</a>
</p>
<p class='lessons_adds'>Дата добавления: %s</p>
<p class='lessons_adds'>Автор статьи: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);
}
while ($myrow = mysql_fetch_array ($result));
?>
<p> </p>
<p> </p></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<? include ("blocks/footer.php"); ?>
</table>
</body>
</html> | |
|
|
|
|
|
|
|
для: romanych12
(06.04.2010 в 16:38)
| | Таблица lessons, тоже по 5-10 статей на странице
<?php
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include ("blocks/lefttd.php"); ?>
<td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo $myrow['text']; ?>
<?php
$result = mysql_query ("SELECT id,title,description,author,date FROM lessons",$db);
$myrow = mysql_fetch_array ($result);
do
{
printf ("<table align='center' class='lessons'>
<tr>
<td class='lessons_title'><p class='lessons_name'><a href='view_lessons.php?id=%s'>%s</a>
</p>
<p class='lessons_adds'>Дата добавления: %s</p>
<p class='lessons_adds'>Автор урока: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"], $r);
}
while ($myrow = mysql_fetch_array ($result));
?>
<p> </p>
<p> </p></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<? include ("blocks/footer.php"); ?>
</table>
</body>
</html> | |
|
|
|
|
|
|
|
для: romanych12
(06.04.2010 в 16:42)
| | а где Ваши попытки сделать постраничную навигацию?
офрмляйте код в сообщении тегами [code]
http://www.softtime.ru/info/articlephp.php?id_article=33 | |
|
|
|
|
|
|
|
для: Slo_Nik
(06.04.2010 в 18:06)
| | Пример моей работы можно посмотреть здесь, но здесь без кода постраничной навигации. http://romanych57.jino.ru/index.php
Пишет такое сообщение: Fatal error: Unsupported operand types in Z:\home\localhost\www\mysite\lessons.php on line 36
<?php
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include ("blocks/lefttd.php"); ?>
<td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo $myrow['text']; ?>
<?php
// Устанавливаем соединение с базой данных
include "blocks/bd.php";
// Переменная хранит число сообщений выводимых на станице
$num = 25;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM lessons");
$posts = mysql_fetch_row($result);
// Находим общее число страниц
$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
$result = mysql_query("SELECT * FROM lessons LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result))
?>
<?php
echo "<table>";
for($i = 0; $i < $num; $i++)
{
echo "<tr>
<td>".$postrow[$i]['name']."</td>
<td>".$postrow[$i]['time']."</td></tr>
<tr><td colspan=\"2\">".$postrow[$i]['text']."</td></tr>";
}
echo "</table>";
?>
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./page?page=1><<</a>
<a href= ./page?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./page?page='. ($page + 1) .'>></a>
<a href= ./page?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./page?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./page?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./page?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./page?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
?>
<?php
$result = mysql_query ("SELECT id,title,description,author,date FROM lessons",$db);
$myrow = mysql_fetch_array ($result);
do
{
printf ("<table align='center' class='lessons'>
<tr>
<td class='lessons_title'><p class='lessons_name'><a href='view_lessons.php?id=%s'>%s</a>
</p>
<p class='lessons_adds'>Дата добавления: %s</p>
<p class='lessons_adds'>Автор урока: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"], $r);
}
while ($myrow = mysql_fetch_array ($result));
?>
<p> </p>
<p> </p></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<? include ("blocks/footer.php"); ?>
</table>
</body>
</html> | |
|
|
|
|
|
|
|
для: romanych12
(06.04.2010 в 19:35)
| | ОФРМЛЯЙТЕ КОД В СООБЩЕНИИ ТЕГАМИ [CODE][/CODE]
>Пишет такое сообщение: Fatal error: Unsupported operand types in Z:\home\localhost\www\mysite\lessons.php on line 36
Fatal error: Неподдерживаемые типы операндов вZ:\home\localhost\www\mysite\lessons.php on line 36
в самом верху скрипта впишите error_reporting(E_ALL); посмотрите, что покажет. этим Вы выставите уровень ошибок, будут показаны все ошибки, предупреждения и т.п. | |
|
|
|
|
|
|
|
для: Slo_Nik
(06.04.2010 в 20:46)
| |
<?php
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include ("blocks/lefttd.php"); ?>
<td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo $myrow['text']; ?>
<?php
// Устанавливаем соединение с базой данных
include "blocks/bd.php";
// Переменная хранит число сообщений выводимых на станице
$num = 25;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM lessons");
$posts = mysql_fetch_row($result);
// Находим общее число страниц
$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
$result = mysql_query("SELECT * FROM lessons LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result))
?>
<?php
echo "<table>";
for($i = 0; $i < $num; $i++)
{
echo "<tr>
<td>".$postrow[$i]['name']."</td>
<td>".$postrow[$i]['time']."</td></tr>
<tr><td colspan=\"2\">".$postrow[$i]['text']."</td></tr>";
}
echo "</table>";
?>
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./page?page=1><<</a>
<a href= ./page?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./page?page='. ($page + 1) .'>></a>
<a href= ./page?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./page?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./page?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./page?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./page?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
?>
<?php
$result = mysql_query ("SELECT id,title,description,author,date FROM lessons",$db);
$myrow = mysql_fetch_array ($result);
do
{
printf ("<table align='center' class='lessons'>
<tr>
<td class='lessons_title'><p class='lessons_name'><a href='view_lessons.php?id=%s'>%s</a>
</p>
<p class='lessons_adds'>Дата добавления: %s</p>
<p class='lessons_adds'>Автор урока: %s</p></td>
</tr>
<tr>
<td>%s</td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"], $r);
}
while ($myrow = mysql_fetch_array ($result));
?>
<p> </p>
<p> </p></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<? include ("blocks/footer.php"); ?>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: romanych12
(06.04.2010 в 22:15)
| | Зачем Вы два раза подключаете один и тот же файл, для соединения с базой данных?
и уровень ошибок Вы не выставили | |
|
|
|