Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
twister

Как выводить постранично, есть ли у PHP свойство pagesize как у recordset в ASP?

10.12.2009, 17:12. Показов 2051. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работаю с PostgreSQL - как самым удобным для меня.
Все хорошо, только появилась необходимость выбирать из бд много строк, потом форматировать под свои нужды, но страницы слишком большие - как выводить постранично, есть ли у PHP свойство pagesize как у recordset в ASP?

Затем, если кто знает, опишите как решить такую же проблему для одной записи. Т.е. у меня в каком-то поле много текстовой инфы, как сделать, чтобы скрипт выводил ее постранично, и вообще, эффективно ли это?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2009, 17:12
Ответы с готовыми решениями:

Проблема с PageSize в RecordSet.
Есть такой код: Set db = Server.CreateObject('ADODB.Connection') db.Open 'users' sSQL = 'SELECT * FROM users ORDER BY Name' ...

Есть ли в ASP, так же как и в PHP, возможность компилировать страницы?
Есть ли в ASP, так же как и в PHP, возможность компилировать страницы, т.е. создавать файл, состоящий из непосредственно ASP-кода +...

Генерировать pdf и выводить подитог постранично
Доброго времени! Есть задача сгенерировать PDF файл, но лосжнось в том, что если вся таблица не умещается на одной странице, то в...

10
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
10.12.2009, 23:27
что ты себе голову ломаешь, функции ищешь, возможности языка...
Постраничный вывод делается обычным математическим вычислением, без всяких функций и т.д.!
0
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
11.12.2009, 15:37
ЭсЭль...учи матчасть.

Твистер, если я не ошибаюсь насчет PostgreSQL, то постранично можно выводить так

Code
1
select *  from my_table limit { count | ALL } OFFSET start
count - количество записей, либо все оставшиеся.
start - начальная позиция.

при работе с текстом действительно проще вычислять позицию первого выводимого символа и выдавать остаток функцией substr()
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
11.12.2009, 16:04
С постраничным выводом я уже давно разобрался, бери общее количество, дели на нужное, округляй вот тебе и вывод!
0
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
12.12.2009, 12:44
эсэлЬ_плюй учи матчасть ... разобрался он )))))))

короче по твоему выходит прочитай все милион строк, выдерни из них 10 нужных и выведи их. МОЛОДЦА!!!! ))))))))))))

средствами SQL можно получить нужное количество, начаная с нужной записи(см. выше). А ты тут про какую то математику паришь
0
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
12.12.2009, 13:01
ой что же это, на вопрос то забыл ответить

значит что касается постраничного вывода записей, то тут все ясно - нужно из БД выбрать (средствами SQL конечно же) нужное количество записей и отправить их пользователю вместе с кнопками вперед - назад. Потом в зависимости от нажатой кнопки - увеличить (уменьшить) номер стартовой записи на кол-во записей в пачке и опять то же самое.

Что касается вывода больших текстов постранично - все зависит от того кому и зачем эти тексты выводятся. Думаю если сочитать эти два типа вывода (целиком - по частям) то удобно будет всем.

Если чел уже готов читать все - то ему конечно лучше вывести все целиком, так как и ему накладно каждый раз подгружать очередную страницу (вместе со всем оформлением сайта), ждать пока загрузиться. Да и скрипт каждый раз должен делать лишнюю работу.

А вот если чел собирается лишь ознакомиться (т.е. он еще не знает нужно ли ему это все читать) то тут конечно лучше по частям. Причем можно дать ему возможность установить размер части (ну хотя бы простой выбор из трех (по 10 строк, по 100 строк, целиком)

В плане реализации: думаю все просто - разрезать текстовую переменную на куски проблем не составит. Есть много функций которые в комплексе позволят сделать это в две строки кода.

chunk_split($str) - вставляет после каждого 76 символа символ конца строки (для HTML он никакого значения не несет, там конец строки это [BR]).
$strings = explode('
', $str); - разбивает текст на массив строк по символу их конца

теперь осталось просто вывести из массива нужную последовательность строк и все дела.
$begin = 20;
$count = 10;
for($i = $begin - 1; $i < $begin + $count; $i++) echo $strings[$i];

!!!есть способы и лучше ... этот же показан в качестве примера.!!!
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
12.12.2009, 15:25
to 8fr0st8
не умничай, умник!
общее колиство делишь на нужное, округлаешь, получаешь запись с которой начинать запрос с базы... умник!
еще одно, поменьше текста, пишешь много - толку мало!
0
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
12.12.2009, 15:37
2 эсэлЬ_плэй: иди гуляй чмо недоразвитое.

Я тя знать не знаю, и общаться с тобой лично нет никакого желания.
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
12.12.2009, 19:37
не брызгай слюной, извращенец испоганивший уже один раз всем нам известный манликс!
свободен!
0
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
13.12.2009, 07:03
ЭсЭль.
Человек объясняет доходчиво.
После его постов желания переспросить нет.
А вот после твоих много неясностей.
Так что успокойся.
0
twister
17.12.2009, 17:29
Спасибо всем кто принял участие в обсуждении. Особенно веббайту, который выступил судьей в споре.
В любом случае спасибо.

ЗЫ
Кстати. Я имел в виду именно постраничный вывод с помощью средств POSTGRESQL. Поэтому огроиное спасибо всем.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2009, 17:29
Помогаю со студенческими работами здесь

Есть ли у listbox свойство, подобное ItemIndex, как в C++
Доброго времени суток, вот сегодня решил начать c# осваивать, знаю С++ builder и собственно вопрос, в билдере было такое свойство у listbox...

Как получить ключ, то есть свойство класса?
Я хочу написать быструю сортировку списка сложных элементов по их одному из свойств. В массивы встроен метод orderby, в который передается...

Проблема с Recordset:Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /Project/ASP Page1.asp, line
Подскажите, почему при открытии Recordset выдается ошибка ADODB.Recordset (0x800A0BB9) Arguments are of the wrong type, are out of...

Как выводить похожие записи в select на php MYSQL
Как выводить похожие слова на &lt;select&gt; например: Я ищу в БД слова смерт и поиск должен выдать мне в &lt;select&gt; ...

Как выводить ближайший делитель если тот что есть не подходит
Есть программа которая определяет делится ли а на b . Если да она должна выводить делится, если нет она должна вывести ближайшее к b число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru