X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> постраничный вывод из таблицы
Kunapuc
Kunapuc
Topic Starter сообщение 10.4.2008, 20:32; Ответить: Kunapuc
Сообщение #1


подскажите где можно почитать подробно об этом.
и еще подскажите по это поводу : вот есть большой текст , как реализовать чтоб етот текст разбить на 2 старницы- чтоб под текстом было "1 2 3 назад далее"? или где тож про это прочитать.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 10.4.2008, 21:08; Ответить: Exterior
Сообщение #2


Постраничная разбивка


Эта сама функция, которая за вас все сделает
[PHP]<? function paging($itemsperpage, $total, $string, $page, $links, $php_self) {

$pages = ceil($total/$itemsperpage);
$now = ceil($page/$links);
$limit = ceil($pages/$links);

if($now > 1) {
$previos = ($now-1)*$links;
echo "<a href=$php_self?page=1$string>1</a> <a href=$php_self?page=$previos$string><b>&laquo; ...</b></a> ";
}

for($i=0;$i<$now*$links && $i<$pages;$i++){
if($i >= ($now-1)*$links) {
$number = 1+$i;
$begin = "<a href=$php_self?page=$number$string>$number</a> ";
if($page == $number) { $begin = "<b>$page</b> "; };
echo $begin;
}
}


if($now < $limit) {
$next = $now*$links+1;
echo "<b><a href=$php_self?page=$next$string>&raquo; ...</a></b> <a href=$php_self?page=$pages$string>$pages</a>";
}
}
?>[/PHP]

Теперь вызовем эту функцию
[PHP]<?
$itemsperpage = '50'; /* Кол-во записей на странице */
$total = '1452'; /* Общее кол-во записей*/
$string = '&category=48'; /* Параметры, которые необходимо передавать из страницы в страницу */
$links = '10'; /* Страниц в одном блоке ссылок - это как в Яндексе */
if(empty($page)) { $page = '1'; };

paging($itemsperpage, $total, $string, $page, $links, $php_self);
?>[/PHP]

Осталось только определить переменную total и вывести необходимые результаты на страницу.
Думаю, соединение с mysql у вас уже установлено
[PHP]<?
$sql1 = mysql_query("select count(id) as count from ваша_таблица");
$res1 = mysql_fetch_object($sql1);
$total = $res1->count;
?>[/PHP]

Естесственно, этот блок надо вставить перед вызовом функции. Ну, и выведем результаты
[PHP]<?
$start = ($page-1)*$itemsperpage;
$sql2 = mysql_query("select * from ваша_таблица limit $start,$itemsperpage");

while($res2 = mysql_fetch_object($sql2)) {
?>

<?=$res2->имя_столбца?>

<? } ?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
[weber]
[weber]
сообщение 11.4.2008, 17:50; Ответить: [weber]
Сообщение #3


Можно и вручную...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ElektrinO
ElektrinO
сообщение 4.8.2008, 22:31; Ответить: ElektrinO
Сообщение #4


Да можно и в ручную! но так лучше !так легко и прочно и умно и просто ! не как в ручную ! эт лучше! у меня был бы php хост я бы так сделал! но у меня html.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rentgen
rentgen
сообщение 6.8.2008, 13:57; Ответить: rentgen
Сообщение #5


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

Пользуйтесь копированием строки substr.
Например:
[PHP]$text = $row[2]; //Текст
$len = round(strlen($text)/2); //Требуема длина текста
$text1 = substr(0,$len);
$text2 = substr($len,strlen($text));[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Exterior
Exterior
сообщение 6.8.2008, 14:21; Ответить: Exterior
Сообщение #6


rentgen, название темы "постраничный вывод из таблицы"
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kind_hb
Kind_hb
сообщение 4.2.2009, 23:37; Ответить: Kind_hb
Сообщение #7


[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));?>
[/PHP]
как к этому прикрутить постраничный вывод? а то что то до меня не доходит:nea:

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

тоесть просто добавляеш в базу 11 надцатою новость и появилась вторая страница с 1 новостью и т.д
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
panika
panika
сообщение 5.2.2009, 19:20; Ответить: panika
Сообщение #8


...как правильно задавать вопросы и как правильно на них отвечать
Эта сама функция, которая за вас все сделает

Это неправильный ответ, человек задал как это сделать а не скажите мне код чтобы легко было его вставить в скрипт.

Так что я сразу скажу что надо каждый момент скрипта пояснять комментариями + написать намного проще, чтобы пользователь знал принцип работы постраничного вывода страницы и не задавал потом вопрос а как это так у вас получилось.

Я понимаю зайти на любой сайт где написан этот бред и скопировать легко, но правильнее будет все сделать понятно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Незнайка
Незнайка
сообщение 16.3.2009, 23:17; Ответить: Незнайка
Сообщение #9


Как сделать чтобы выводимая в этом скрипте информация показывалась в обратном порядке? То есть чтобы впереди отображалась новая информация, а сзади соответсвенно более старая.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.3.2009, 1:09; Ответить: Webmaster_hb
Сообщение #10


(Незнайка @ 17.3.2009, 01:17) *
Как сделать чтобы выводимая в этом скрипте информация показывалась в обратном порядке? То есть чтобы впереди отображалась новая информация, а сзади соответсвенно более старая.

замените в запросе DESC на ASC
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97667 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132451 7.5.2023, 13:26
автор: Вера_Симонова
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«»
13 101Crypta 12130 18.4.2023, 23:15
автор: 101Crypta
Открытая тема (нет новых ответов) Нужен вывод в топ наших роликов Youtube
3 wep 1906 23.3.2023, 17:39
автор: distrib095


 



RSS Текстовая версия Сейчас: 29.3.2024, 8:38
Дизайн