Задать вопрос
@checky

Насколько затратно так использовать подключения к базе данных sql?

Я использую uikit slideset который преобразует html с специальными атрибутами в свой код
Например
<div data-uk-slideset="{default: 4}">
    <ul class="uk-grid uk-slideset">
        <li>...</li>
        <li>...</li>
    </ul>
    <ul class="uk-slideset-nav">...</ul>
</div>

ul class="uk-slideset-nav".../ul после загрузки страницы будет содержать уже не три точки, а навигацию, созданную в зависимости от количества li.../li и прочих js настроек в data-uk-slideset

Суть в том, что мне нужно чтобы эти элементы появлялись после клика на какой-то объект на странице, но если написать на jquery что-то вроде
$('.myobject').click(function() {
   $(this).html('<div data-uk-slideset="{default: 4}"><ul class="uk-grid uk-slideset"><li>...</li><li>...</li></ul><ul class="uk-slideset-nav">...</ul></div>');
});

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

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

<div class="myslideset" style="display:none">

<div data-uk-slideset="{default: 4}">
    <ul class="uk-grid uk-slideset">
        <li>...</li>
        <li>...</li>
    </ul>
    <ul class="uk-slideset-nav">...</ul>
</div>

</div>


$('.myobject').click(function() {
   $(this).html( $('.myslideset') ).children('.myslideset').css("display","block");
});


и это работает, но получается элемент создаётся и подгружаются картинки даже тем людям, которым это не нужно.

Но я знаю каким людям это будет нужно, так как у них перед этим в sql базе данных есть специальное значение. Суть в том, что допустим это супер посещаемый сайт - 100 000 уникальных в день.. Все на одной странице.
Что лучше - сделать проверку у каждого при каждой загрузке страницы на наличие этого значения через php и только им подгружать этот слайдсет, то есть:

ПХП:
> Подключение к базе данных
> Выяснение есть ли у человека это значение

> Если нет - ничего, если есть -
echo 'тут слайдсет (также невидим, но при клике перемещается и делается видимым, но картинки загрузятся сразу, до клика)'

> В конце - закрытие базы данных

Я не знаю насколько это ресурсно затратно, но предполагаю что очень, (1)если нет - то сделаю так.
(2)Если да, то не пожалею людей и не пожалею трафика и буду грузить всем эти картинки, даже если они их никогда и не увидят.

Пока писал, уже почти точно решил не заморачиваться и поступить (2) способом, так как на самом деле сейчас посмотрел что картинок там всего на 300 килобайт, тем более они же будут кешироваться..

Поэтому перепоставлю вопрос, просто ради интереса - Насколько затратно так использовать подключения к базе данных sql при каждой загрузке страницы, если к примеру на сайте 100 000 уникальных людей в день? или если 50 000?)
  • Вопрос задан
  • 777 просмотров
Подписаться 1 Оценить 1 комментарий
Решение пользователя Alex Safonov К ответам на вопрос (5)
elevenelven
@elevenelven
Php Dev @ Amadeus
Но я знаю каким людям это будет нужно, так как у них перед этим в sql базе данных есть специальное значение
Вы в любом случае вытаскиваете авторизационные данные и сохраняете в сессию. Заджойните признак (UI-маркер) отображения меню.
Если у вас нет какой-то ролевой/групповой модели доступа, то создайте UI-маркеры - что для этого пользователя отображать.

Конечно подход решил не заморачиваться имеет право на жизнь. Но надо быть дисциплинированным.
Ответ написан