Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сайт с вертикальной фиксацией. Разбивка контента на куски 
:(
    Опции темы
sergeimi
Дата 6.2.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



У меня сайт с фиксированным размером по вертикали, а контент страниц на 80. Как можно при помощи mysql и php осуществить полноценную работу сайта. Чтобы пользователь мог листать страницы, возвращаться назад и т.п. . ? 

Спасибо.
PM MAIL   Вверх
bars80080
Дата 6.2.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



искать в поисковике, либо здесь на форуме темы "постраничная навигация"
PM MAIL WWW   Вверх
sergeimi
Дата 6.2.2009, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Цитата(bars80080 @ 6.2.2009,  18:50)
искать в поисковике, либо здесь на форуме темы "постраничная навигация"

Я только начинаю сооружать сайты с использованием php и mysql поэтому пока тяжеловато. 
Простой сайт, единственная сложность в том, что он фиксированный по вертикали. Изначально был статичным, а теперь товарищ попросил добавить гостевую книгу и... 
Теперь появились вопросы. На сайте есть страница с списком литературных произведений, вроде бы как оглавление и из этого оглавление посетитель должен попадать на страницу, по выбранной им ссылке. Кажется, что трудностей нет, я создал таблицу в БД и код

Код

<?php 
/*--------------------------------ПОДКЛЮЧАЮСЬ К БАЗЕ ДАННЫХ ---------------------------------*/

include ("blocks/db.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='proza'",$db);
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?>" />
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="/style/style.css">
<title><?php echo $myrow['title']; ?></title>
</head>

<body>
<div id="main_bg">
<div id="author">
<?php include ("blocks/author.php");/*----------------ПОДКЛЮЧАЮ ШАПКУ "Авторский сайт Яна М." -------------*/ ?>
</div>

<div id="content">

<?php $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 proza");
$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

$result = mysql_query ("SELECT id,title,date,opisanie FROM proza ORDER BY id LIMIT $start, $num",$db);
$myrow = mysql_fetch_array ($result);

do {
printf 

("<table>
<tr>
<td colspan='2' class='nazvanie'><a href='view_proza.php?id=%s'>%s</a></td>
</tr>
<tr>
<td class='opisanie'>%s</td>
<td class='date'>%s</td>
</tr>
</table>",$myrow ['id'], $myrow ['title'], $myrow['opisanie'], $myrow['date']);
}
while ($myrow = mysql_fetch_array ($result));

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=proza.php?page=1>Первая</a> | <a href=proza.php?page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=proza.php?page='. ($page + 1) .'>Следующая</a> | <a href=proza.php?page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
// if($page - 5 > 0) $page5left = ' <a href=proza.php?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
// if($page - 4 > 0) $page4left = ' <a href=proza.php?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=proza.php?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=proza.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=proza.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

// if($page + 5 <= $total) $page5right = ' | <a href=proza.php?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
// if($page + 4 <= $total) $page4right = ' | <a href=proza.php?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=proza.php?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=proza.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=proza.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div id=\"strelki\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}


?>
</div>
<div id="main_menu">
<?php include ("blocks/main_menu.php"); /*--------ПОДКЛЮЧАЮ МЕНЮ "Проза Стихи Записи Ссылки Почта" -----*/?>
</div>
</div>
</body>
</html>


Страница с оглавлением работает, постраничная навигация работает, но теперь не знаю как написать код к странице с текстом, на который я попадаю, если выбираю одну из ссылок в оглавлении. Проблема в том , что сайт фиксированный по вертикали, а текс большой. Я только начинаю программировать) Искал. С постраничной навигацией в общем, я разобрался, но как же быть с контентом на 80 стр., который надо как-то разбить и пронумеровать?!
PM MAIL   Вверх
sergeimi
Дата 6.2.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.2.2009

Репутация: нет
Всего: нет



Вобщем ссть такой код  
Код

<?php   include ("blocks/db.php");   
if (isset ($_GET['id'])) {$id = $_GET['id'];}  
 $onpage = 600;   
$offset = 1;   
$result = mysql_query("SELECT SUBSTRING(`text`,{$offset},{$onpage}) AS `part`,                              
 CHAR_LENGTH(`text`) AS `total`                          
 FROM `proza` WHERE `id` = '{$id}' LIMIT 1",$db);   
$myrow = mysql_fetch_array($result);  ?> 


он разбивает мой большой контент на куски в 600 символов. Как мне настроить к нему постраничную навигацию?


PM MAIL   Вверх
enof
Дата 6.2.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 1
Всего: 35



Мб переделать таблицу и разбить контент на части.
Код

id | page | text


PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.