Нумерация страниц необходима? - PullRequest
1 голос
/ 18 марта 2011

Важна ли нумерация страниц? Что произойдет, если у вас есть как 200 записей. Замедлит ли это сайт для людей, использующих его?

Извините, если это звучит как простой вопрос, просто интересно, новинка в игре.

Спасибо

Обновление:

После прочтения ответов. Я думаю, что важно использовать их. Так как я могу сделать поиск страниц, используя лимит. Не ищу модного решения ..

Ответы [ 5 ]

2 голосов
/ 18 марта 2011

Более эффективно, быстро и удобно для сервера разбивать результаты на несколько страниц.

С одной стороны, большинство пользователей не собираются смотреть дальше первых X результатов независимо от того, сколько их на одной странице, поэтому будет много неиспользованных результатов, которые были получены, обработаны и отправленыклиент, который тратит впустую пропускную способность и процессорное время.На самом деле, разбивая на страницы, вы увеличиваете вероятность того, что они продолжат дальше, чем они остановились бы, если бы все было на одной странице.

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

Разбивка на страницы через LIMITв SQL это делается с помощью диапазона Limit.Если для запроса LIMIT в SQL-запросе указан один аргумент, он вернет до такого количества результатов, поэтому SELECT * FROM table LIMIT 5 вернет не более 5 результатов.Когда заданы два аргумента, он пропускает результаты, пока не достигнет первого аргумента, а затем возвращается к следующему количеству результатов.Итак, SELECT * FROM table LIMIT 40,10 вернет не более 10 записей, начиная с 41-го результата.

Итак, вам нужен какой-то способ сообщить серверу, какую страницу или результат хочет получить клиент, обычно это делаетсянумерация страниц разбивается на что-то вроде: http://www.domain.com/search.php?p=4 или http://www.domain.com/search.php?r=40, после чего вы используете это значение через $ _GET, чтобы определить, какими будут ограничения в запросе SQL.Что-то вроде (в данном случае используется передача номера страницы с помощью get):

<?php
$sql = "SELECT * FROM `table`"; //Set up initial query string

$max_per_page = 20;  //Max results per page, can be drawn from elsewhere/configuration file or something or declared directly
if(isset($_GET['p']))  //Check to see if $_GET['p'] is set
{
     $current_limit = abs((int)$_GET['p'] - 1) * $max_per_page;  //Current limit = max * (current page - 1) other wise, page 2 would have a starting point of 40 instead of 20 like it should.  When passing the result number to start on, you'd just use that instead
}
else
{
     $current_limit = 0;
}
$sql .= ' LIMIT ' . $current_limit . ', ' . $max_per_page;  //Construct LIMIT on end of query string
$result = mysql_fetch_assoc(mysql_query($sql));
?>

О, и для определения итоговых результатов вы можете выполнить оператор типа SELECT COUNT(*) FROM table WHERE etc. etc., чтобы начать с него, чтобы вы зналиитоговые результаты, которые можно использовать для определения необходимого количества страниц, поскольку вы знаете максимальные результаты на страницу.

2 голосов
/ 18 марта 2011

Я думаю, что существует больший психологический барьер, чем технологический. Большая часть аппаратного обеспечения способна очень быстро разбивать большие объемы текста на страницы. Тем не менее, люди вряд ли прочтут очень громкую статью.

Как правило, для удобства пользователя рекомендуется разбивать большие объемы текста на более мелкие части и предлагать полный текст для загрузки.

Кроме того, длина линии и расстояние важны для захвата аудитории. Я бы порекомендовал межстрочный интервал 1,5em и максимум 15 слов в строке

В отличие от печатных СМИ - люди вряд ли дойдут до конца - и, чтобы выяснить, кто-черт возьми, они просто выручит, если им не понравится пара абзацев. Просто представьте, что читатель стоит на левой кнопке, а другой - на колесе прокрутки - скорее, как вы, вероятно, делаете сейчас - просто жаждете сойти с этой страницы и прочитать что-то еще.

2 голосов
/ 18 марта 2011

Хорошая нумерация страниц поможет вам уменьшить вес страницы, которую вы обслуживаете для клиента, и затраты на запросы в базе данных.(потому что вам нужно загрузить только 10 или 20 предметов вместо тысячи).

И, конечно же, очень важен пользовательский опыт.Никто не хочет прокручивать дни, чтобы найти что-то на веб-странице.

1 голос
/ 18 марта 2011

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

1 голос
/ 18 марта 2011

нумерация страниц необходима?Зависит.Каждый раз, когда я писал какую-либо страницу со списком объектов из базы данных, я помещал на них некоторую нумерацию страниц (по требованию).

Но если я добавляю, скажем, новый client, который может иметь State?В этом случае поле выбора, отображающее все состояния, не будет разбито на страницы.Поскольку его легко читать пользователю, и он обычно не загружает тонны данных.

Но для более сложных и больших запросов вы всегда должны устанавливать лимит и загружать данные из вашей базы данных по требованию..Все программное обеспечение растет.Если вы не будете разбивать страницы на страницы, однажды у вас начнутся головные боли.

...