Код?... Это просто!
php js Jquery JsPhp blog
ТЕГИ:
php (101)
js (87)
php date (19)
online (14)
html (14)
js slice (13)
js array (11)
encode (11)
js date (10)
php array (10)
hash (10)
info (7)
dosite (7)
php img (7)
jsphp (6)
Показать еще :

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

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

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

  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. Пример сортировки страниц по убыванию/возрастанию:

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

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

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



Теги:

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

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

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

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

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


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

Скоро...


Мои Проекты :

Скоро...



О хостинге :

Скоро...


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