Задать вопрос
  • Почему у ajax при foreach функция в success срабатывает только после проработки всего массива?

    @alexalexes
    alert стопорит выполнение последующих инструкций, пока пользователь не ответит на всплывающиее окно, поэтому вот это будет выполнено после ответа пользователя.
    document.getElementById('product_image_files').style.display = 'none';

    PS:
    for (l = 0; l < obj.length; l++)
    Вы в курсе, что l в таком описании всегда будет создаваться в глобальном объекте window, а не локально, если цикл описан в какой-нибудь функции?
    Если цикл работает по принципу "отработал и забыл, что было в счетчике", то никогда не забывайте писать var.
    for (var l = 0; l < obj.length; l++)
    Ответ написан
    6 комментариев
  • Как осуществить выборку MySQL?

    @alexalexes
    А зачем вам куча запросов? Нужен всего один, но с параметрами и мат. функциями.
    Чистая математика, ничего лишнего.
    SELECT *
    FROM points p
    WHERE sqrt(pow(p.x - :x, 2) + pow(p.y - :y, 2)) <= :r -- используем формулу определения расстояния между двумя точками, параметры запроса, которые нужно задать :x, :y, :r.
    Ответ написан
  • Как из класса обратиться к элементу формы?

    @alexalexes
    Вы пытаетесь смешать логику хранения списка тем с логикой их отображения.

    // тут добавление пункта в меню

    и

    public void click(object sender, EventArgs e)
    {
    // здесь процедура по изменению textbox1.text
    }

    Этого не должно быть в этом классе.
    Наполнение формы должно происходить в классе формы с использованием готовых объектов класса Lesson.
    Ответ написан
  • Какой эквивалент функции data_seek в PDO?

    @alexalexes
    php.net/manual/ru/pdostatement.fetch.php
    Читайте, как использовать необязательные параметры cursor_orientation и cursor_offset.
    Вероятно, подготовка запроса будет выглядеть так:
    $db->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));

    А чтение строки с шагом вот так:
    $row = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_REL, 2); // шаг = 2
    Ответ написан
    Комментировать
  • Как прервать 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 комментарий