[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: постраничный вывод из таблицы
Kind
PHP
<?php include('block/connect.php'); ?> 
<?php  
$result 
mysql_query('SELECT * FROM news ORDER BY date DESC LIMIT 10',$db); 
$row mysql_fetch_array($result); 
do { 
 
printf ("<div class='tabletop'>$row[title]</div> 
  <div class='tablebottom'> $row[min_opisanie] <br>Автор: $row[autor]  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Дата новости: $row[date] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='view_news.php?id=$row[id]'>Читать полностью</a></div> 
<br>"
);} 
while (
mysql_fetch_array($result));


как к этому прикрутить постраничный вывод? а то что то до меня не доходит

у меня к index.php прикручен этот блок для вывода новостей из БД
хотелось бы видеть что бы при достижении 10 новостей на странице заканчиволся вывод а остальные выводились на следующей страннице и что бы ссылка туда сгенерировалась автоматически

тоесть просто добавляеш в базу 11 надцатою новость и появилась вторая страница с 1 новостью и т.д

Читал несколько статей rolleyes.gif но до меня так и не дошло sad.gif



Спустя 1 час, 44 минуты, 40 секунд (5.02.2009 - 14:15) sergeiss написал(а):
Ну, дык... Используй LIMIT!!! Для второй странцы укажи LIMIT 10 OFFSET 10, для третьей - LIMIT 10 OFFSET 20 - и т.д.

PS. Я надеюсь, понятно, что сначала находишь общее количество строк, и исходя из него определяешь количество страниц и формируешь набор ссылок для переходов на разные страницы. А уже при переходе по ссылке на определенную страницу используешь LIMIT.

Спустя 34 минуты, 41 секунда (5.02.2009 - 14:49) twin написал(а):
Посмотрите тут Если что не понятно, я подскажу.

Спустя 3 часа, 15 минут, 24 секунды (5.02.2009 - 18:05) Kind написал(а):
Всетаки что то до меня всеровно не доходит mad.gif sad.gif
Последний вопрос и поуду читать книги biggrin.gif
допустим у меня 33 новости и понятно что и "id" у меня 33
я захотел удалить новость с id=15 значит id=15 уже не существует
внимание вопрос как зделать так что бы id с номером 15 заняла следующая новость тоесть котороя id=16 а на ее место id=17 ну и так далее
надеюсь правильно изьясняюсь rolleyes.gif

Спустя 45 минут, 5 секунд (5.02.2009 - 18:50) twin написал(а):
Оператор LIMIT считает количество записей, а не очередность id. То есть выдаст все равно нужное количество записей, даже если есть пропуски в нумерации, присвоенной автоинкрементом.

А с книжки вообще то надо было начать, а не закончить ей biggrin.gif

Спустя 14 часов, 49 минут, 42 секунды (6.02.2009 - 09:39) sergeiss написал(а):
Цитата (twin @ 5.02.2009 - 18:50)
А с книжки вообще то надо было начать, а не закончить ей

Фраза, достойная быть в подписи, а не "просто так" smile.gif

Спустя 4 часа, 42 минуты, 1 секунда (6.02.2009 - 14:22) Aleksander написал(а):
Всем привет, а подскажите как сделать так чтобы выводились только 3 последние новости?

Спустя 7 минут, 1 секунда (6.02.2009 - 14:29) Kind написал(а):
Цитата (Aleksander @ 6.02.2009 - 11:22)
Всем привет, а подскажите как сделать так чтобы выводились только 3 последние новости?

SELECT * FROM таблица ORDER BY id DESC LIMIT 0,3

Спустя 20 минут, 48 секунд (6.02.2009 - 14:49) Aleksander написал(а):
Цитата (Kind @ 6.02.2009 - 11:29)
Цитата (Aleksander @ 6.02.2009 - 11:22)
Всем привет, а подскажите как сделать так чтобы выводились только 3 последние новости?

SELECT * FROM таблица ORDER BY id DESC LIMIT 0,3

Так вроде если первый параметр 0 то всегда будут выводится первые 3 новости,а нужно чтобы последние 3 выводилися...

Спустя 47 минут, 9 секунд (6.02.2009 - 15:36) sergeiss написал(а):
Цитата (Aleksander @ 6.02.2009 - 14:49)
Цитата (Kind @ 6.02.2009 - 11:29)
Цитата (Aleksander @ 6.02.2009 - 11:22)
Всем привет, а подскажите как сделать так чтобы выводились только 3 последние новости?

SELECT * FROM таблица ORDER BY id DESC LIMIT 0,3

Так вроде если первый параметр 0 то всегда будут выводится первые 3 новости,а нужно чтобы последние 3 выводилися...

Всё правильно написано, именно 3 последних новости будут. Потому что сортировка в обратном порядке, поэтому первыми в списке будут именно последние новости. Из которых 3 будет взято.

Спустя 36 минут, 40 секунд (6.02.2009 - 16:13) twin написал(а):
SQL
SELECT * FROM (SELECT * FROM `news` ORDER BY `id` DESC LIMIT 3) as `table`ORDER BY table.id ASC
Вот так надо, а то они в обратном порядке будут.

Спустя 4 часа, 4 минуты, 51 секунда (6.02.2009 - 20:18) Aleksander написал(а):
Спасибо !
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.