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



 

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

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

Открыть тему
Тема закрыта
> Вывод на нескольких страниц
BoL4oNoK
BoL4oNoK
Topic Starter сообщение 19.1.2011, 16:33; Ответить: BoL4oNoK
Сообщение #1


Подскажите, в БД есть поле, в котором хранится текст. Как узнать количество слов в тексте и, например, половину вывести на одну страницу, а остальное - на другую? Если можно, с кодом
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.1.2011, 16:43; Ответить: alexdrob
Сообщение #2


(BoL4oNoK @ 19.1.2011, 18:33) *
Как узнать количество слов в тексте

это будет большая нагрузка на сервер, и при 10 посетителях твой сайт повиснет :)

(BoL4oNoK @ 19.1.2011, 18:33) *
например, половину вывести на одну страницу, а остальное - на другую

Для этого вставлюят какой то код, например комментарий <!-- break -->
Потом выводят на первую страницу текст до <!-- break --> на вторую текст после <!-- break -->


(BoL4oNoK @ 19.1.2011, 18:33) *
Если можно, с кодом

А вы начните писать код, и по мере написания спрашивайте что не понятно, вам помогут. А полностью код просят в платном разделе)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 19.1.2011, 16:46; Ответить: r3ntg3n
Сообщение #3


[PHP]session_start();
$page = intval($_GET['page']); // получили номер страницы
if (!isset($_SESSION['words_arr'])) { // если раньше не доставали эти слова. как временное хранилище использовал сессию, можете взять другое
$query = "SELECT `text_field` FROM `table`;
$result = $db->query($query);
$row = $result->fetch_assoc();
$_SESSION['words_arr'] = explode(" ", $row[0]); // разбили текст по пробелам и записали массив в сессию
} else {
$count = (count($_SESSION['words_arr'])/2) * $page; // посчитали, сколько слов в массиве, поделили на 2 и умножили на номер страницы
for ($i = 0; $i < $count; $i++) {
echo $_SESSION['words_arr'][$i] . "<br>"; // выводим слова
}
}[/PHP]

UPD: с сессией погорячился, пишите в файл:
line 3: if (!file_exists('cache/words.txt')) {
line 7: file_put_contents('cache/words.txt', serialize(explode(" ", $row)));
line 9: $words_arr = unserialize(file_get_contents('cache/words.txt'));
line 10: $count = (count($words_arr)/2) * $page;
line 12: echo $words_arr[$i] . '<br>';
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BoL4oNoK
BoL4oNoK
Topic Starter сообщение 19.1.2011, 16:47; Ответить: BoL4oNoK
Сообщение #4


(alexdrob @ 19.1.2011, 18:43) *
это будет большая нагрузка на сервер, и при 10 посетителях твой сайт повиснет :)

Как тогда посоветуете это реализовать?


(alexdrob @ 19.1.2011, 18:43) *
Для этого вставлюят какой то код, например комментарий <!-- break -->
Потом выводят на первую страницу текст до <!-- break --> на вторую текст после <!-- break -->

Честно говоря, не совсем понял.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 19.1.2011, 16:58; Ответить: r3ntg3n
Сообщение #5


(alexdrob @ 19.1.2011, 18:43) *
Для этого вставлюят какой то код, например комментарий
Потом выводят на первую страницу текст до на вторую текст после

Тоесть, в тексте, который у Вас в БД ставиться маркер для распределения по страницам. Если первая страница - выводите текст до маркера, если вторая - после маркера. alexdrob, я правильно Вас понял? :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.1.2011, 17:03; Ответить: alexdrob
Сообщение #6


(r3ntg3n @ 19.1.2011, 18:58) *
Тоесть, в тексте, который у Вас в БД ставиться маркер для распределения по страницам. Если первая страница - выводите текст до маркера, если вторая - после маркера. alexdrob, я правильно Вас понял? :)

Не у меня, а в вордпресе джумле и прочих цмс.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BoL4oNoK
BoL4oNoK
Topic Starter сообщение 19.1.2011, 17:23; Ответить: BoL4oNoK
Сообщение #7


Хорошо, а если на страницы выводить текст, до заголовка(скажем тега h1)?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.1.2011, 17:29; Ответить: alexdrob
Сообщение #8


Вот пример sql для вывода по разделителям
[PHP]$INDEX = номер страницы;
$DELIM = '<!-- break -->';
$sql = "select SUBSTRING_INDEX(SUBSTRING_INDEX(`text`,'$DELIM',$INDEX),'$DELIM',-1) from `table`";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
BoL4oNoK
BoL4oNoK
Topic Starter сообщение 19.1.2011, 17:46; Ответить: BoL4oNoK
Сообщение #9


(alexdrob @ 19.1.2011, 19:29) *
Вот пример sql для вывода по разделителям
[PHP]$INDEX = номер страницы;
$DELIM = '<!-- break -->';
$sql = "select SUBSTRING_INDEX(SUBSTRING_INDEX(`text`,'$DELIM',$INDEX),'$DELIM',-1) from `table`";[/PHP]

терь вродь понял, но как лучше всего вносить этот тег, чтобы не нагружать сервер? Как я понимаю, этот тег вносится при добавлении записи в БД?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.1.2011, 18:01; Ответить: alexdrob
Сообщение #10


можете использовать любой другой)

(BoL4oNoK @ 19.1.2011, 19:23) *
Хорошо, а если на страницы выводить текст, до заголовка(скажем тега h1)?

можно и до него)


(BoL4oNoK @ 19.1.2011, 19:46) *
но как лучше всего вносить этот тег

Ну например вручную) Но можно и при добавлении скриптом php или mysql.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

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


 



RSS Текстовая версия Сейчас: 19.3.2024, 9:10
Дизайн