Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129

Постраничный вывод

12.04.2015, 17:24. Показов 886. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, на сайте есть вывод пользователей, хочу реализовать постраничный вывод.
Так вывожу пользователей , когда выбираю сортировку по имени
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
            <?php
                if(isset($_GET['sort_by_username'])) {
                    $query = mysql_query("SELECT * FROM users WHERE active = 1 ORDER by username");
                    $user_data = mysql_fetch_array($query);
                        do{?>
                                <div class="users-list">
                                    <img src="<?php echo $user_data['profile']; ?>" class='round' height='50px' alt="<?php echo $user_data['profile'];?>'s profile">
                                        <li>
                                            <a href="/user/<?php echo $user_data['username']; ?>"><?php echo $user_data['username']; ?>'s profile</a>
                                        </li>
                                </div>
                        <?php }
                        while ($user_data = mysql_fetch_array($query)); }
Также есть вывод статей на главной, но проблема в том, что и там , и там $_GET присвоено лишь одно значение, не подскажите, как объединить два фрагмента?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
                    $num = 3;
                    $page = $_GET['page'];
                    $result = mysql_query("SELECT COUNT(*) FROM data");
                    $temp = mysql_fetch_array($result);
                    $posts = $temp[0];
                    $total = (($posts - 1) / $num) + 1;
                    $total =  intval($total);
                    $page = intval($page);
                    if(empty($page) or $page < 0) $page = 1;
                    if($page > $total) $page = $total;
                    $start = $page * $num - $num;
                    $query = mysql_query("SELECT data.*, AVG(votes.rating) AS rating FROM data LEFT JOIN votes ON data.id = votes.post GROUP BY data.id ORDER BY data.id DESC LIMIT $start, $num");
                    $data = mysql_fetch_array($query);
                    do{
                                            echo $data["date"];
                        }
                        while ($data = mysql_fetch_array($query));
                ?>
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2015, 17:24
Ответы с готовыми решениями:

Постраничный вывод
Помогите отредактировать скрипт постраничного вывода: function link_bar($page, $count,$perpage,$show_link) { $p_c = ceil($count...

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

Постраничный вывод
Есть скрипт &lt;? include(&quot;config.php&quot;); $content = ' &lt;html&gt; &lt;head&gt;

10
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
14.04.2015, 20:59  [ТС]
хорошо, тогда можно ли как-то объединить значения для переменно GET ? Скажем так:
PHP
1
if(isset($_GET['sort_by_username&page'])) {
что-то такое можно сделать?
0
Заблокирован
15.04.2015, 14:16
Я тоже обычно использую максимум один параметр. Варианта два:
- либо передать один из параметров в пути (например, /users/sort-by-name или /users-sort-buy-name),
- либо закодировать оба параметра в одном (делала когда-то такое, причем там тоже был тип сортировки и номер страницы).

Иногда бывает разумно передавать дополнительные параметры методом POST или в куках.
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
15.04.2015, 21:40  [ТС]
хорошо, тогда как Вы предлагаете формировать запросы? Хочу реализовать тогда что-то такое users/sort_by_id/page/1/ .
0
Заблокирован
15.04.2015, 21:59
В смысле? Определяйте из пути поле, по которому сортируете, и вперед: 'ORDER BY `'.$field.'` LIMIT '.(($pn-1)*$pp).','.$pp
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
15.04.2015, 22:03  [ТС]
Ну хотя понимаю, а как вы прделагает формировать ссылку, дабы была постраничная сортировка
0
Заблокирован
15.04.2015, 22:16
Ну, если достаточно только сортировки по возрастанию, просто добавляйте к ссылкам для сортировки по каждому полю текущий номер страницы, например: '/users/sort-by-name?page='.$pn
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
16.04.2015, 20:01  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
например: '/users/sort-by-name?page='.$pn
хорошо, тогда не подскажите как тогда в апачи создать такой тип ссылок? Так как с его cинтаксисом у меня небольшие проблемы
0
Заблокирован
16.04.2015, 21:29
Апач-то тут причем? У вас в сайте используется одна точка входа или несколько? Если несколько, то для каждой точки входа обычно пишут отдельное правило (хотя часто можно и обобщить) примерно такого вида:
Code
1
RewriteRule ^users/ /users.php [NC,L]
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
17.04.2015, 10:05  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
RewriteRule ^users/ /users.php [NC,L]
окей, но тогда как мне формировать сcылки? Сама сортировка по id или username выглядит так: users?sort_by_id и users?sort_by_username . нужно сделать что-то такое, users/sort_by_id/page/7/ ваш вариант для .htaccess что-то не работает. Подскажеите, что не так, можeт чего не понимаю?
0
Заблокирован
18.04.2015, 03:04
Мой вариант работает, но это был лишь пример. Как формировать ссылки, я вам уже показывала: '/users/sort-by-name?page='.$pn или со слешем на конце '/users/sort-by-name/?page='.$pn ($pn содержит текущее значение параметра page). В обработчике users.php соответственно вычленяете из пути элемент sort-by-name и по этому ключу определяете имя поля для сортировки. Номер страницы можно взять из $_GET['page'].
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2015, 03:04
Помогаю со студенческими работами здесь

Постраничный вывод
Всем доброго времени суток! Нашёл в инете исходник постраничной навигации с отличным функционалом, пытаюсь адаптировать под свой сайт. ...

постраничный вывод
привет, никак не пойму в чем ошибка кода, который осуществляет вывод данных из бд фиксированным числом! при нажатии на &quot;далее&quot;...

Постраничный вывод......
Ребят, ни как не получается с постраничным выводом, то-есть он работает, но на страницу выводятся, все номера страниц какие есть. А как...

постраничный вывод php
я только учу php так что не судите строго:) есть класс который отвечает за выборку из mysql. вот часть кода public function...

Постраничный вывод с комментариями
Здравствуйте. Решил создать на своем сайте страницу, которая бы постранично выводила записи из базы данных. К этой же странице я решил...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru