Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Фиксированный сайт по вертикали.
 
 автор: sergeimi   (06.02.2009 в 18:28)   письмо автору
 
 

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

Спасибо.

  Ответить  
 
 автор: sim5   (06.02.2009 в 18:42)   письмо автору
 
   для: sergeimi   (06.02.2009 в 18:28)
 

Ищите в разделе - постраничная навигация.

  Ответить  
 
 автор: sergeimi   (06.02.2009 в 18:44)   письмо автору
 
   для: sim5   (06.02.2009 в 18:42)
 

Искал. С постраничной навигацией в общем, я разобрался, но как же быть с контентом на 80 стр., который надо как-то разбить и пронумеровать?!

  Ответить  
 
 автор: sim5   (06.02.2009 в 18:55)   письмо автору
 
   для: sergeimi   (06.02.2009 в 18:44)
 

Что значит контент на 80 стр.? Это одна запись в таблице? Берите часть записи, а далее по смещению селдующую и т.д.. А может вы хотите разбить контент (и это файл) на страницы и поместить в бауз? Вы задаете вопрос, из которого известно лишь то, что вы хотите, и как же вам советовать?
В разделе много примеров постраничной навигации было, для различных условий. Вы же знаете, что из себя представляет ваш контент, выберите из примеров то, что вам подходит. Пробуйте, а уже с конкретными вопросами на форум.

  Ответить  
 
 автор: sergeimi   (06.02.2009 в 18:59)   письмо автору
 
   для: sim5   (06.02.2009 в 18:55)
 

Контент в базе одной ячейкой.

  Ответить  
 
 автор: sergeimi   (06.02.2009 в 18:53)   письмо автору
 
   для: sim5   (06.02.2009 в 18:42)
 

Я только начинаю сооружать сайты с использованием 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 0$page3left ' <a href=proza.php?page='. ($page 3) .'>'. ($page 3) .'</a> | ';
if(
$page 0$page2left ' <a href=proza.php?page='. ($page 2) .'>'. ($page 2) .'</a> | ';
if(
$page 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 <= $total$page3right ' | <a href=proza.php?page='. ($page 3) .'>'. ($page 3) .'</a>';
if(
$page <= $total$page2right ' | <a href=proza.php?page='. ($page 2) .'>'. ($page 2) .'</a>';
if(
$page <= $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>



Страница с оглавлением работает, постраничная навигация работает, но теперь не знаю как написать код к странице с текстом, на который я попадаю, если выбираю одну из ссылок в оглавлении. Проблема в том , что сайт фиксированный по вертикали, а текс большой. Я только начинаю программировать)

  Ответить  
 
 автор: sergeimi   (06.02.2009 в 19:34)   письмо автору
 
   для: sergeimi   (06.02.2009 в 18:53)
 

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

<?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 символов. Как мне настроить к нему постраничную навигацию? )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования