• Как прервать foreach и вывести один div?

    @alexalexes
    Все, что требует вставки после постобработки списка должно копиться в отдельной переменной $output2. Таких переменных для постобработки может быть несколько, если глубина вложенности большая, или нужно сгенерировать html в разных областях до/после списка.
    $output .= '<div class="floor">';
      $output .= '<div class="category">';
      $output2 = ''; // тут будем копить html, необходимый для вставки после обработки списка
      foreach($myPosts as $newPosts)
      {
          $newText = $newPosts->post_title;
          $post_id = $newPosts->ID;
          $permalink = get_permalink($post_id);
          $thumb = get_the_post_thumbnail_url( $post_id, 'medium' );
          $meta_values = get_post_meta( $post_id, 'floor', true );
          $string = '';
          $test = get_the_category( $post_id );
          if($prev != $meta_values && $output2 == '') // какое-то условие сработало на определенном проходе списка, и его еще не обрабатывали
          {
            $prev = $meta_values;
            $output2 .= '<span class="name">'.$string.'</span>'; // записываем вывод обработки отдельно
          }	
          $output .= '<span class="shop" data-section="'.$meta_values.'" data-shop="'.$post_id.'" data-name="'.$newText.'" data-link="'.$permalink.'" data-newlink="'.$new_links.'" data-cat="<span>'.$name.'</span>"><span>'.$newText.'</span>';
      }
      $output .= '</div>';
      $output = $output2.$output; // доставляем перед списком некие элементы, которые можно получить только после обработки списка.	
      $output .= '</div>';
    Ответ написан
    Комментировать
  • Пропал HDD из дефрагментации на Win10, но при этом нормально функционирует, куда он мог пропасть?

    @alexalexes
    1. Дефрагментировать SSD - переливать воду из пустого в порожнее. Никогда так не делайте. Если у вас включена дефрагментация по расписанию для этого диска, то исключите этот диск из расписания.
    2. При запуске системы не предлагается пройти проверку диска D?
    Обычно, дефрагментация запрещена, если ОС обнаружила ошибки на нем или происходил сбой в файловой системе.
    Ответ написан
    3 комментария
  • Как удалить невалидные загружаемые файлы из формы на стороне клиента?

    @alexalexes
    1. Используйте FileReader для полного контроля содержимого предоставляемых файлов;
    2. Предупреждайте об невалидности файлов пользователя в процессе включения их в форму;
    3. Не включайте из FileReader невалидные файлы в выборку данных для отправки по ajax.
    Ответ написан
    Комментировать
  • Как открыть и закрыть DVD-RW дисковод?

    @alexalexes
    Нужно привязываться к устройству не только по его типу, но и по букве диска.
    Открытие:
    mciSendString("open f: type cdaudio alias cd", NULL, 0, NULL);
    mciSendString("set cd door open wait", NULL, 0, NULL);

    Закрытие:
    mciSendString("open f: type cdaudio alias cd", NULL, 0, NULL);
    mciSendString("set cd door closed wait", NULL, 0, NULL);
    Ответ написан
    6 комментариев
  • Как выполнить INSERT с подзапросом?

    @alexalexes
    https://www.w3schools.com/sql/sql_insert_into_sele...
    Смотрите последний пример.
    insert into  parking_time (owner_id, auto_id, parker_id, place_id, begin_date, exp_date)
    select :owner_id, a.id, :parker_id, :place_id, :begin_date, :exp_date
    from auto a
    where a.car_number = :car_number

    У вас там еще есть зависимости по owner_id и place_id, значит select еще будет посложней скомпонован.
    Ответ написан
    4 комментария
  • Как раз и навсегда отсортировать записи в PostgreSQL?

    @alexalexes
    Создаете view с нужной сортировкой и используете ее во всех запросах.
    Ответ написан
  • Как вытащить модели с критерием по связи, а также не имеющим связи?

    @alexalexes
    Вам помогут классические запросы SQL?
    Места, которые никогда не сдавались.
    select distinct p.* from place p
    left join lease l on p.id = l.place_id
    where l.id is null -- нет записей в примыкаемой таблице lease, значит место не арендовалось

    Места, которые никогда не сдавались, либо на рассматриваемый период свободны.
    select distinct p.* from place p
    left join lease l on p.id = l.place_id
    where l.id is null
    OR p.id not in (select distinct p.id -- находим арендованные места на период поиска
                      from place p
                      join lease l on p.id = l.place_id
                     where l.started_at >= :begin AND (l.finished_at is null OR l.finished_at <= :end) -- период аренды лежит внутри периода поиска
                        OR l.started_at <= :begin AND (l.finished_at is null OR l.finished_at >= :begin) -- точка начала периода поиска лежит в периоде аренды
                        OR l.started_at <= :end AND (l.finished_at is null OR l.finished_at >= :end) -- точка конца периода поиска лежит в периоде аренды
                   )
    Ответ написан
    4 комментария
  • В чём отличие runtimeStyle от currentStyle?

    @alexalexes
    currentStyle - это то, что описано в CSS-селекторе или в атрибуте style, или программно дополненный elem.style (как хочет разработчик описать стили).
    runtimeStyle - это то, как смог нарисовать браузер заданный стиль.
    В современном JS, условно currentStyle можно считать, то что мы достанем или записываем из/в elem.style.свойствоЕлемента, а runtimeStyle - это всякие offset-ы и client-ы - elem.offsetWidth, elem.offsetHeight и тд.
    PS: попробуйте поиграться с currentStyle и runtimeStyle над таблицей с заполненными данными с разной степенью распиранием ячеек. Попытаться изменить ширину ячеек - вы поймете разницу, где браузер откликнется на заданную ширину, а где - нет.
    Ответ написан
    Комментировать
  • Как обойти ошибку при добавлении столбца в БД?

    @alexalexes
    При создании нового столбца, вероятно, вы указываете значение по умолчанию, и вероятно, пытаетесь использовать значение 0 для даты. Хотя, если используется значение по умолчанию, его нужно задавать корректно с точки зрения эпохи Unix (от 01.01.1970 и моложе).
    Ответ написан
  • Зашифрованный адрес картинки в браузере?

    @alexalexes
    data:image/png;base64

    Это не адрес, это ресурс самой картинки в формате base64.
    Если вы пытаетесь найти гипотетические файлы каптчи, то будьте уверены, что их нет на ftp, картинки генерируются налету.

    Где этот адрес найти в ручную?

    Там, где вызывается модуль генерации каптчи, оттуда отдается картинка браузеру.
    Ответ написан
  • Как реализовать следующий запрос в postgresql?

    @alexalexes
    PostgreSQL не может в одном запросе сочетать процедурный (использование пользовательских переменных) и декларативный стиль программирования. Для получения специфичной выборки вам нужно написать отдельную хранимую функцию:
    CREATE OR REPLACE FUNCTION public.get_id1_id2() RETURNS SETOF test_table AS
    $BODY$
    DECLARE
     last integer := 0; -- аналог "SELECT @last:=0"
     r test_table%rowtype; -- курсор для выборки и анализа строки
    BEGIN
      FOR r IN SELECT * FROM test_table -- проход по всей исходной выборки
      LOOP
        IF r."ID_1" > last THEN -- аналог "WHERE `ID_1` > @last;"
          last = r."ID_2"; -- аналог "@last := `ID_2`"
          RETURN NEXT r; -- включение текущей строки в выходную выборку
        END IF;
      END LOOP;
      RETURN;
    END;$BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;

    Либо реализовать постобработку полной выборки уже в приложении, например, реализация на PHP:
    function get_id1_id2($rows)
    {
      $out = []; // выходная выборка
      $last = 0; // аналог "SELECT @last:=0"
      foreach($rows as $row) // проход по всей исходной выборки
        if($row["ID_1"] > $last) // аналог "WHERE `ID_1` > @last;"
        {
          $last = $row["ID_2"]; // аналог "@last := `ID_2`"
          $out[] = $row; // включение текущей строки в выходную выборку
        }
      return $out;
    }
    Ответ написан
    2 комментария
  • Как заставить крайние правые пункты меню трансформироваться в выпадающий блок при ресайзе окна?

    @alexalexes
    Если чисто в теории, то как обычно - JS. Подписываем на событие resize документа функцию, которая будет отслеживать размер контейнера меню и пересчитывать суммарную длину блоков пунктов меню вместе с отступами и прятать/выносить их в/из особого контейнера в конце списка, либо прятать этот контейнер, если все пункты вмещаются в меню.
    Ответ написан
  • Как в protractor загрузить файл?

    @alexalexes
    Нашел на одном из сайтов по вопросам самотестирования.
    automated-testing.info/t/upload-file-in-test-using...
    Ответ написан
    Комментировать
  • Как размещать сайты в интернете?

    @alexalexes
    Вам нужно копать в сторону услуги покупки доменного имени. Как правило, тот же сервис, где вы размещаете свой сайт, дает такую услугу, повезет, если будет дешевле, чем у аккредитованных регистраторов доменов.
    При выборе хостинга, как правило, более прошаренный сайтовод интересуется сразу всеми аспектами вопроса "домен + хостинг", а потом уже принимает решение выкладывать туды сайт, или нет.
    Ответ написан
    Комментировать
  • PhpMyAdmin. Появляется ошибка из-за php_max_input_vars. Как исправить?

    @alexalexes
    max_input_vars = 10000000000000000000000000000000000000

    Серьезно. )))) И в какой тип данных среда должна положить это значение, чтобы потом проверять лимит?
    Вы хоть в пределах одного порядка поэспериментируйте, 3000... 5000.
    Ответ написан
  • Удаленная работа для системного администратора, такое есть в природе?

    @alexalexes
    Сисадмины как раз стараются конфигурировать оборудование так, чтобы можно меньше физически присутствовать рядом с железом или исключить присутствие вообще. Это как раз дает возможность работать удаленно, однако, нужен опыт, чтобы вывести качество настройки на этот уровень.

    На возможный вопрос "а что, собственно, собрался делать то ? через инет материнку не поменяешь ведь",

    Конечно, у работодателя есть желание получить к себе в кадры человека швейцарский нож, который помимо работы админа будет еще и ремонтом железа заниматься. Если вы хотите чисто администрировать, то работа с ремонтом железа будет полезна, если вы с ним никогда не сталкивались. Если вы станете матерым специалистом, то однозначно нет.
    Ответ написан
    1 комментарий
  • Как правильно искать примеры с кодом?

    @alexalexes
    Ну например где посмотреть хороший пример автоподгрузки контента при скролинге вниз. А пока запрос к базе данных происходит, вращается спиннер.

    Нашли интересную фичу, пытаетесь понять на каких принципах и теории это работает.
    Тут очевидно, что технология AJAX и принципы человеко-машинного взаимодействия: организация удобного интерфейса, приемлемого времени реакции интерфейса, удержание внимания пользователя пока идет долгий процесс.
    Потом ищите как реализовано это в вашей среде. Нет реализации - пилите свою или заимствуете максимально похожее решение.
    Ответ написан
    Комментировать
  • Как сделать, чтобы затемнение модального окна не касалось хэдера и футера?

    @alexalexes
    Можно пробовать отрегулировать z-index заголовка, подвала и блока основного контента сайта так, чтобы z-index блока .overlay был выше блока основного контента сайта, но меньше чем z-index заголовка и подвала. Однако, есть риск, что само окно будет заползать за элементы страницы (так же поиграться с этим свойством у окна).
    Собственно, нужно будет отработать возврат свойства z-index к прежним значениям после закрытия окна.
    Ответ написан
    Комментировать
  • Как запихать 39 камер в 28 портовый коммутатор?

    @alexalexes
    При расширении парка оборудования прикидывайте теоретическую возможность роста количества узлов.
    Например, сейчас хотят еще +11 камер подключить, потому что появился бюджет на них.
    Но, допустим, посмотрев на планировку, понимаем, что могут запросить еще +10 при следующем поднятии этого вопроса. Сразу считайте порты на это расширение. Если не знаете, какое будет следующее расширение, то лучше добавить +10% портов к реально подключенным узлам прозапас.
    Ответ написан
    Комментировать
  • Отправка данных в функцию?

    @alexalexes
    В обработчике addItem(id) пробежаться по DOM через дескриптор события event до img и h2, содержащийся в article.
    var article = e.target.parentNode.parentNode;
    var src = article.getElementsByTagName('img')[0].getAttribute('src');
    var title = article.getElementsByTagName('h2')[0].innerHTML;

    Только если собрались тащить эти параметры в список корзины, то оно нафиг не сдалось. Получайте заново параметры выбранного товара по его id. Выцарапывать свойства из уже отображенной формы представления - это костылизация.
    Ответ написан
    1 комментарий