Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 18:00   #1
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию Разбить страницу на подстраницы.

Ребята, банальный вопрос, бьюсь уже месяц пробую разные варианты из гугла.
Задача такова - разбить страницу сайта на подстраницы.

На самой странице выводит информацию о фильмах, хотелось бы чтобы на странице было 10 фильмов, ну и естественно чтобы на первой странице выводились последние добавленные, ну и так по убыванию.

Может ребята пнете куда-то или пример покажете.

Для наглядности привожу код страницы.
Код:
<?php 
include ("blocks/bd.php"); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Відео каталог</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="100%" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
  <tr>
    <td><table width="100%" border="0">
    <?
	include("blocks/header.php");
    ?> 
    </table></td>
  </tr>
 
  <?
     include("blocks/header2.php");
  ?> 
  
  <tr>
    <td><table width="100%" border="0">
    <?
	include("blocks/lefttd.php");
    ?> 
    <td valign="top" ><table width="100%" border="0">
    <tr>
      <td align="center" class="navi"><b><font color='#004080'>Відео каталог </font></b></td>
    </tr>
    <tr>
       <td height="100%" valign="top"><table width="100%" border="0" class="main_border">
       <tr>
          <td class="soft_categ">
	   <center>
            <A HREF="http://10.10.101.2/kmn/video_day.php">
	     <b>Нові фільми за сьогодні ||</b></A>
	     <A HREF="http://10.10.101.2/kmn/video_week.php">
	     <b>Нові фільми за неділю ||</b></A> 
	     <A HREF="http://10.10.101.2/kmn/video_month.php">
	     <b>Нові фільми за місяць</b></A>
	   </center>
          <center>
            <p><b>|<b>      
            <?php 
              $result2 = mysql_query ("SELECT * FROM soft_categ",$db);
		if (!$result2)
		{
		  echo "<p>Запит до БД не пройшов. Напішіть нам про це на e-mail: admin@dreamtrk.com.ua</p>";
                exit(mysql_error());
		}
		if (mysql_num_rows($result2) > 0)
		{
		  $myrow2 = mysql_fetch_array ($result2);
		  do
		  {
                  printf ("<b><a class='nav_link' href='view_cat_video.php?cat=%s'>%s</a></b> <b>|</b> ", $myrow2["id"], $myrow2["title"]);
		  }
                while ($myrow2 = mysql_fetch_array ($result2));

		}
		else
		{
		  "<p>В таблиці записів немає</p>";
		  exit();
		}
	     ?>         
	   </p></center>
          </td>

<?php 
 
 /* Блок который считает количество видео на сайте
 
 Datebase connection code goes here. 
 If you don't know how to do it, see: 
 http://www.totallyphp.co.uk/code/connect_to_a_mysql_database.htm 
 
 Change tablename to match the name of your own table 
 
 */ 
 
 // Connect to the database 
// db_connect (); 
 
 // Query the database and get the count 
 $result = mysql_query ( "SELECT * FROM softs" ); 
 $num_rows = mysql_num_rows ( $result ); 
 
 // Display the results 

 ?> 

<font color='#6A5ACD'><left><b>
<?php
 echo "Всього в базі ", $num_rows," відеофайлів" ; 
?>
</font></left></b>

       </tr>
       <tr>
       <td>
       <?php  
	  $result = mysql_query ("SELECT id,title,description,images FROM softs ORDER BY id DESC",$db);
	  $myrow = mysql_fetch_array ($result); 
	  do 
	  {
           printf ("<table width='100%%' border='0' class='games'>
           <tr>
             <td class='games_title'><a href='view_video.php?id=%s'><p><b> %s</b></p></a></td>
           </tr>
           <tr>
             <td><table width='100%%' border='0'>
             <tr>
               <td valign='top' width='150' class='gam_img'><p><img src='img_video/%s' width='170' height='250'></p></td>
               <td valign='top'><p>%s</p>
	      </td>
             </tr>
	      <tr>
		 <td class='games_title'></td>
               <td class='games_title' align='right'><right><a href='view_video.php?id=%s'><b>далі &gt;&gt;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></right></td>
             </tr>
             </table></td>
       </tr>
       </table><br>", $myrow["id"],$myrow["title"],$myrow["images"],$myrow["description"],$myrow["id"] );
   
   }

while ($myrow = mysql_fetch_array ($result));	
?>	  
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>

<? include("blocks/footer.php"); ?> 


</table>
</body>
</html>
Небесный вне форума Ответить с цитированием
Старый 27.07.2010, 21:13   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Смысл такой - в запросе получаем только 10 записей начиная с нужного элемента

Код:
SELECT id,title,description,images FROM softs limit $start, 10 ORDER BY id DESC
где $start = номер страницы * 10; и передается через $_GET
ADSoft вне форума Ответить с цитированием
Старый 27.07.2010, 21:45   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Вариант 1
Вариант 2
Ещё несколько разных примеров
Andkorol вне форума Ответить с цитированием
Старый 28.07.2010, 13:03   #4
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Благодарю ребята, как и первый ответ, так и второй ответ(Вариант 1) - мне очень помогли.
Небесный вне форума Ответить с цитированием
Старый 28.07.2010, 14:00   #5
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Начал двигаться дальше, сделал чтобы еще выводило фильмы, которые добавленные за день, за неделю и за месяц.

Проблема в том, что плохо пока еще знаю синтаксис.

Нужно сделать запрос в базу и записать в резулт те значение, которые мне подходят по условию, тоесть в базе при добавления я пишу и дату, когда он добавлялся.

Код:
$result = mysql_query ("SELECT id,title,description,images,date FROM softs ORDER BY id DESC",$db);
$dateweek = date ("Y-m-d",(time()+3600*24*-7));
//$datetoday = date("Y-m-d");

$myrow = mysql_fetch_array ($result); 

do {
if ($dateweek <= $myrow["date"] )
{
printf ("<table width='100%%' border='0' class='games'>


Ну и дальше вывожу инфу о фильме.
Как мне теперь в запрос втулить с лимитом записи в резулт.

Вот как пробую, но выдает ошибку.
Код:
<?php
$dateweek = date ("Y-m-d",(time()+3600*24*-7));
$result = mysql_query ("SELECT id,title,description,images,date FROM softs LIMIT $start, $num  where ($dateweek <= $myrow["date"] ) ");
Небесный вне форума Ответить с цитированием
Старый 28.07.2010, 14:44   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

блин.... учи синтаксис!

PHP код:
$result mysql_query ("SELECT id,title,description,images,date FROM softs LIMIT $start$num  where ($dateweek <= ".$myrow['date']." ) "); 
ADSoft вне форума Ответить с цитированием
Старый 28.07.2010, 14:50   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Также вот это место выглядит как-то странно:
Цитата:
$dateweek = date ("Y-m-d",(time()+3600*24*-7));
ЗЫ:тут,на форуме,пока ещё не все умеют ошибки угадывать....проще когда Вы приводите их текст...
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить файл. ben95 Помощь студентам 3 08.01.2010 12:18
разбить строку Ceprey Общие вопросы C/C++ 10 24.12.2009 20:47
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 18:26
Разбить на массив spein PHP 5 09.05.2009 20:11
Разбить на функции dma Помощь студентам 1 10.03.2009 07:21