JsPhp.ru
Код?... Это просто!
php js Jquery JsPhp blog
ТЕГИ:
php (70)
js (38)
online (13)
html (12)
hash (10)
php array (10)
php img (7)
info (7)
dosite (7)
webp (5)
sha (5)
hosting (4)
jquery (4)
Показать еще :

Сортируем страницы по посещаемости/просмотров с примеров

"сортировка страниц по посещаемости/просмотров". Как сортировать страницы по количеству просмотров от более просматриваемой к менее просматриваемой и обратно! Сортировка по количеству просмотров.

Подробно о сортировке страниц в списке по посещаемости/просмотров...

  1. Пример сортировки страниц по возрастанию/убыванию
  2. Html код сортировки страниц по возрастанию/убыванию
  3. Начало php кода сортировки страниц по посещаемости/просмотров.
  4. Вывод ссылок с количеством просмотров.
  5. Собираем новый массив для сортировки страниц!
  6. Сортируем страницы по возрастанию.
  7. Пример сортировки страниц по убыванию/возрастанию:
  8. Что делать с архивом?.
  9. Скачиваем здесь. Живой пример.
Естественно, что:

Первым и самым главным для страницы с сортировкой страниц по посещаемости/просмотров вам потребуется счетчик.

  1. Пример сортировки страниц по возрастанию/убыванию

    Чтобы начать нашу страницу давайте приведу примеры... сортировки страниц апо возрастанию и убыванию...

    Несколько примеров сортировки страниц по возрастанию/убыванию

    У нас есть несколько страниц, которые приведу для того, чтобы вы понимали, что мы будем делать...:

    Страница список(без сортировки):

    Сортируем оп возрастанию посещаемости/просмотров, т.е. сортировка идет от низа страницы к верху страницы по возрастанию(sort - сортировать, up - вверх):

    Здесь тоже самое, но в обратную сторону, т.е. сортировка идет от низа страницы к верху страницы по убыванию(sort - сортировать, down - вниз ):

  2. Html код сортировки страниц по возрастанию/убыванию.

    Теперь разберемся с начальным кодом...

    Используем svg для значка просмотром:

    Начальный код верху таблицы:

    \n Название страницы

    + css - не буду на всем этом останавливаться подробно - здесь всё просто, только код:

    Php:

    <? $svg_glaz = '<svg class="svg_glaz" viewBox="0 0 500 500"> <g id="view" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <path d="M250,125 C335.11369,125 412.62459,162.094698 482.532702,236.284094 C489.791515,243.987449 489.791515,256.012551 482.532702,263.715906 C412.62459,337.905302 335.11369,375 250,375 C164.88631,375 87.3754097,337.905302 17.4672981,263.715906 C10.2084845,256.012551 10.2084845,243.987449 17.4672981,236.284094 C87.3754097,162.094698 164.88631,125 250,125 Z M289.397758,158.061016 L290.354428,158.476552 C325.483113,173.988083 350,209.130929 350,250 C350,291.239064 325.037195,326.647752 289.397758,341.939893 C347.628105,332.741536 401.933917,302.755011 452.933332,251.187936 L454.1,249.999 L452.933332,248.812064 C401.934486,197.245564 347.629316,167.259133 289.397758,158.061016 Z M210.603244,158.059677 L208.847963,158.344351 C151.280571,167.863435 97.553486,197.763291 47.0666679,248.812064 L45.899,249.999 L47.0666679,251.187936 C98.0658056,302.754731 152.371306,332.74121 210.603244,341.939142 C174.961869,326.646425 150,291.238291 150,250 C150,208.76055 174.963272,173.351585 210.603244,158.059677 Z M275,250 C261.192881,250 250,261.192881 250,275 C250,288.807119 261.192881,300 275,300 C288.807119,300 300,288.807119 300,275 C300,261.192881 288.807119,250 275,250 Z" fill="#000000" fill-rule="nonzero"></path></g></svg>';

    $begin_table = '<div class="new_array">

    <span class="p1">\n</span>

    <span class="p2"> Название страницы </span>

    <count title="Количество просмотров страницы">'. $svg_glaz.'</count>

    </span>

    </div>';

    ?>

    css:

    <style>

    .new_array {

    height: 30px;

    border-bottom: 1px solid gainsboro;

    margin: 15px 0;

    padding: 0 0 10px;

    font-size: 15px;

    color: #797979;

    font-family: system-ui;

    }span.p1 {

    border-right: 2px solid #acacac;

    margin: 0 7px 0 0;

    padding: 0 20px 0 0;

    color: red;

    width: 20px;

    display: inline-block;

    }count {

    float: right;

    }svg.svg_glaz {

    width: 19px;

    height: 19px;

    margin: -4px 0;

    }

    </style>

  3. Начало php кода сортировки страниц по посещаемости/просмотров.

    Для того, чтобы сделать сортировку по возрастанию вам потребуется:

    Основа страницы будет - blog.html - делаем две страницы с измененным адресом используя get:

    https://jsphp.ru/blog.html?sort=up

    https://jsphp.ru/blog.html?sort=down

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

    $parse_url = 'https://jsphp.ru/blog.html';

    Далее .... напишем когда какие ссылки на страницы показывать(в смысле сортировки) в зависимости от того, на какой странице вы находитесь:

    if($_GET[sort])

    {

    $begin_page = '<div><a href="'.$parse_url.'">Начальная.</a></div>';

    if($_GET[sort]=='up') $up='<div><a href="'.$parse_url.'?sort=down">Сортировать по убыванию.</a></div>';

    elseif($_GET[sort]=='down') $down='<div><a href="'.$parse_url.'?sort=up">Сортировать по возрастанию.</a></div>';

    }

    else

    {

    $begin_page = '';

    $up='<div><a href="'.$parse_url.'?sort=down">Сортировать по убыванию.</a></div>';

    $down='<div><a href="'.$parse_url.'?sort=up">Сортировать по возрастанию.</a></div>';

    }

    Также это все поместим в переменную - тупо для удобства...

    $begin_url = '

    <div style="font-size: 11px;text-align: right;line-height: 15px;">

    '.$begin_page.'

    '.$up.'

    '.$down.'

    </div>

    ';

  4. Вывод ссылок с количеством просмотров.

    Далее... мы с вами переходим на территорию "неопределенности".

    Что за неопределенность?

    Я не знаю, как у вас выводится списки страниц, поэтому... этот код вам придется создавать самостоятельно.

    Если это база данных, то я где-то здесь показывал как выводить оттуда списком. т.е. это цикл foreach

    У вас должно быть что-то типа такого:

    Переменные - 4:

    $cc - счетчик внутри foreach.

    $url_page - адрес вашей страницы.

    $name_page - текст вашей страницы.

    $rotate_count_looks - счетчик просмотров вашей страницы.

    foreach($main_array as $first_line => $massiv)

    {

    //--- счетчик просмотров

    $rotate_count_looks - получаем количество просмотров, для каждой страницы списка.

    //--- счетчик просмотров

    $cc++;

    $result .= '

    <div class="new_array">

    <span class="p1">'. $cc .'.</span>

    <span class="p2"><a href='.$url_page.' target=_blank>'. $name_page .'</a></span>

    <count title="Количество просмотров страницы">'.$rotate_count_looks .'</count>

    </span>

    </div>

    ';

    }

    echo $result;

  5. Собираем новый массив для сортировки страниц!

    Для сортировки - нам нужен специально выведенный новый массив - делаем его внутри foreach:

    Собираем новый массив для сортировки:

    Выше "foreach" - создаем новый массив:

    $array_sort = array();

    foreach($main_array as $first_line => $massiv)

    Далее ... тот же код, что вы видели выше в "foreach", только в начало помещаем количество просмотров... через какой-то делитель - например - "::"

    $array_sort[] = $rotate_count_looks.'::<div class="new_array">

    <span class="p1">'.$cc.'.</span>

    <span class="p2"><a href='.$url_page.' target=_blank>'. $name_page .'</a></span>

    <count title="Количество просмотров страницы">'.$rotate_count_looks.'</count>

    </span>

    </div>';

  6. Сортируем страницы по возрастанию.

    Ну и далее процесс... собственно сортировки...

    Опять в зависимости от адреса в адресной строке... выводим сторнированное либо по возрастанию(Сортироваться будет по первой цифре, а как вы видели, первая цифра - это классов просмотров см выше пункт.):

    rsort ($array_sort , SORT_NUMERIC);

    Либо по убыванию:

    sort ($array_sort , SORT_NUMERIC);

    if($_GET['sort'] =='up')

    {

    $result='';

    rsort ($array_sort , SORT_NUMERIC);

    }

    elseif ($_GET['sort'] =='down') {

    $result='';

    sort ($array_sort , SORT_NUMERIC);

    }

    Ну и выводим результат...

    С помощью explode - оставляем последнюю ячейку(end)

    if($_GET['sort'] =='up' or $_GET['sort'] =='down')

    {

    $count_array = count($array_sort);

    for ($i=0; $i < $count_array; $i++)

    {

    $result .= end(explode('::', $array_sort[$i]));

    }

    }

  7. Что делать с архивом?

    Изменить данные в скрипте на свои, они обозначены двумя слешами вправо и словом var():

    $rotate_count - количество просмотров страницы, которые перебираются в цикле, вместо слов "'получаем количество просмотров из счетчика.'" - помещаем переменную, которая и есть ваш счетчик... посещений перебираемых страниц... если нет счетчика посещаемости/просмотров смотри счетчик.

    $rotate_count = 'получаем количество просмотров из счетчика.' ; // 1 var

    В переменную "$url_page" - передаем адрес страницы, счетчик которой только, что выше получили...

    $url_page = здесь ваш код... адреса страницы ; // 2 var

    В переменную "$name_page " - передаем название страницы, счетчик которой только, что выше получили...

    $name_page = здесь ваш код... названия страницы ;// 3 var
  8. Пример сортировки страниц по убыванию/возрастанию:

    Пример всего описанного на отдельной странице:

    Живой пример.

    Это усеченная версия вот этой страницы.



Теги:

сортировка по количеству просмотров

jsphp.ru есть здесь:
Полезные ссылки:
ruweb
Я писал немного о ruweb.net!
Помочь проекту JsPhp.ru

Что можно сделать!?

Поделиться ссылкой! C друзьями или врагами!


Помочь проекту JSPHP.RU: прокомментировать :

Скоро...


Мои Проекты :

Скоро...



О хостинге :

Скоро...


© jsphp.ru 2023 , Аминев Марат. Контакты
Страница загружена за : 0.007285 секунд.