Задать вопрос
  • Как раскодировать эту херабору ðîçûñê?

    @alexalexes
    В редакторе вместо режима просмотра документа win-1252 поставьте win-1251, без перекодирования содержимого.
    Ответ написан
    Комментировать
  • Передать значение в форме?

    @alexalexes
    <form action="/index.php" method="POST" >
      <input name='pers_delete' type='hidden' value="сюда подставляете значение переменной"/>  
      <input name='submit' type='submit' value="1" class='del_pers'/> 
    </form>

    <?php
       if (isset($_POST['submit']))
       {
         echo $_POST['pers_delete'];
       }
    ?>
    Ответ написан
    Комментировать
  • Как подключить 2 монитора?

    @alexalexes
    62dc50876ddff435143411.jpeg
    Посмотрите настройку "Разрешение экрана". Там есть пункт "Несколько экранов". Если в схеме нарисовано два монитора, но изображение выводится только на один, то скорее всего в пункте "Несколько экранов" стоит значение "Отображать рабочий стол только на <номер монитора>".
    Ответ написан
    Комментировать
  • Правильно ли использовать position absolute & relative в верстках?

    @alexalexes
    Менять свойство position оправдано, если стоит задача в одном контейнере визуально наложить друг на друга дочерние блоки, которые в html не вложены друг в друга - по тексту иду один за другим.
    Например, у вас есть контейнер div.photo__container с img и блоком описания div.photo__descr:
    <div class="photo__container">
      <img src="photo.jpg"/>
      <div class="photo__descr">
        <p>Описание для фото</p>
      </div>
    </div>

    Если стили оставить как есть, то описание отобразится под изображением.
    Чтобы наложить описание на фото, нужно изменить позиционирование блока описания.
    Если мы тупо пропишем position: absolute для блока описания photo__descr, то этот блок убежит черт знает куда (точнее, спозиционируется относительно body, или ближайшего родителя, у которого будет position: relative).
    div.photo__descr
    {
      position: absolute;
    }

    Для этого нужно ограничить абсолютное позиционирование данного блока родительским блоком:
    div.photo__container
    {
      position: relative;
    }

    Далее, хотелось бы, чтобы блок приклеился к низу контейнера. Поскольку у нас блок в абсолютном позиционировании, то могут работать свойства top, right, bottom, left. Нужен bottom:
    div.photo__descr
    {
      position: absolute;
      bottom: 0;
    }

    Еще есть желание ограничить макс. высоту блока описания, можно воспользоваться процентами, причем они будут высчитываться от родительского блока position: relative:
    div.photo__descr
    {
      position: absolute;
      bottom: 0;
      max-height: 30%;
      overflow-y: auto; /* можно еще добавить возможность прокручивать содержимое при вертикальном переполнении */
    }

    Увы, чтобы работали процентные величины относительно родителя, нужно чтобы у родителя были заданы конкретные значения ширины и(или) высоты:
    div.photo__container
    {
      position: relative;
      height: 600px;
    }
    Ответ написан
    Комментировать
  • Как преобразовать одномерный массива в многомерный?

    @alexalexes
    Вам нужен определенный навык работы с наполнением ассоциативных массивов. С помощью него можно делать такие трюки.
    // $in_arr - вход
    // $out_arr - выход
    $out_arr = [];
    foreach($in_arr as $in_item)
      $out_arr[$in_item['api_id']][] = $in_item;
    $out_arr = array_values($out_arr);
    Ответ написан
    Комментировать
  • Подойдёт ли 2.5" 12мм жёсткий диск в неттоп, предназначенный для 7мм?

    @alexalexes
    Если будут проблемы с вместимостью в стандартную нишу жесткого диска, то можно воспользоваться удлинителем sata и вынести диск за пределы корпуса. Колхозить, так колхолить по-черному.
    Ответ написан
    Комментировать
  • Каким запросом подгружается информация?

    @alexalexes
    Данные прикладываются в первоначальное состояние html.
    В конце страницы есть тег script. Там определяется глобальный объект __NUXT__.
    В нем есть свойство data, в нулевом элементе лежат данные, необходимые для интерактива.
    Среди них есть то, что вы ищите:
    window.__NUXT__.data[0].product.props
    Чтобы забрать значение __NUXT__ нужно выполнить JS этого тега.
    Но можно решить задачу влоб при помощи регулярки, получив содержимое между return и последней закрывающийся фигурной скобкой функции, формирующей этот объект:
    (?<=window\.__NUXT__=\(function\(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,\$,aa,ab,ac,ad,ae,af\){return\s).*(?=}\()

    Данная регулярка получит JSON, который можно превратить в объект без выполнения JS.
    Но данный метод будет работать до тех пор, пока разработчики магазина не добавят новых аргументов в эту функцию. Либо эта функция будет иметь переменное кол-во аргументов.
    Ответ написан
  • Что нужно для подключения динамического вокального микрофона к пк?

    @alexalexes
    Для этого микрофона нужен предусилитель для микрофона и правильное обеспечение его питания.
    В вашем случае в качестве предуселителя используется K-Mic KM501, которое имеет отдельное питание, поэтому на выходе вы можете использовать любую звуковую карту.
    Соответственно, если вы брали звуковую карту с фантомным питанием, значит микрофон нужно обеспечить тем предусилителем, который имеет поддержку этого питания.
    Есть такие предуселители в прямоугольном корпусе, а есть такие, которые можно установить сразу в гнездо микрофона - в виде бочонка.
    Если вы хотите заменить предусилитель, то должны обратить внимание, какое входное сопротивление микрофона для него оптимально: 150 Ом (270 Ом реальное).
    И какой коэф. усиления будет оптимальным для приемлемого уровня громкости, получаемой в звуковой карте.
    Он может варьироваться от +20дБ до +40дБ. Может быть регулируемым у одной модели предусилителя, и не регулируемой у другой.
    К сожалению для K-Mic KM501 нет нигде описаний этих характеристик, это выяснить можно только опытным путем, если подключить микрофон уже к готовому тракту предусилитель + звуковая карта с фантомным питанием.
    Ответ написан
    Комментировать
  • Почему мигает индикатор питания?

    @alexalexes
    Если открыть инструкцию в разделе режима питания. То там есть таблица, как себя ведет индикатор питания. Когда он мигает, это значит, что у батареи критический уровень заряда. Поскольку батарея у вас старая, то, возможно, что ее заряд никогда не подымается выше определенного значения, когда индикатор перестанет мигать, в независимости, сколько времени подключен адаптер питания.
    Вывод - пора менять батарею.
    Еще как вариант, можно извлечь батарею, если ноутбук используется как стационарный комп.
    Ответ написан
    3 комментария
  • CRON Автоотправка сообщений в вк?

    @alexalexes
    Чтобы вам начать пользоваться VK API для каких-либо действий скриптом, нужно получить токен и id приложения.
    Для этого вам нужно изучить документацию разработчика https://dev.vk.com/api/getting-started разделы "Регистрация приложения" и "Авторизация пользователя" и проделать операции, которые описаны в этих разделах.

    После того, как с помощью ключа доступа вам удастся что-то отправить, то уже можете заниматься вопросом про cron.
    Ответ написан
  • Как правильно оформить sql-запрос чтобы он был читаемый?

    @alexalexes
    62d2477b7afb0731475726.png
    У меня сформировалась такая модель оформления запросов sql.
    1. Один уровень запроса я насаживаю на ось. Слева от оси - клаузы синтаксиса sql: select, update, insert, delete, from, set, join-ы всех разновидностей, where, order by, group by и так далее. Справа от оси - атрибуты запроса, скобки следующего уровня запроса.
    2. В выражениях оконных функций делаю ось относительно partition by/order by.
    3. Булевые выражения после on или where выравниваю так:
    - операторы первого приоритета (and) идут в левую часть оси;
    - сравнения и следующий уровень более низкого приоритета (or) - в правую часть оси.
    4. наименования join сокращаем максимально кратко:
    - вместо inner outer join просто join,
    - вместо left outer join - left join и так далее.
    5. В части join...on присоединяемые поля таблицы ставлю в левую часть равенства в булевых выражениях:
    join t1 on t1.a_id = t2.id
               and t1.begin_date < t2.end_date

    но не так:
    join t1 on t2.id = t1.a_id
               and t2.end_date > t1.begin_date

    6. Наименования атрибутов, которые относятся к одной таблице в текущем уровне или прошлом, или имеющие по смыслу более связанное значение, можно писать в одну строчку:
    select a.id, a.name,
             b.position
             ...

    7. Запятые в перечислениях атрибутов удобно иметь в начале строки, когда запрос изменяют каждый день или находится в стадии активной разработки. Но постоянно просматривать такой запрос в режиме изучения, на мой взгляд - неудобно. Поэтому, когда активная фаза исправлений заканчивается, запятые перемещаю в конец строки.
    select a.id
              , a.name
             , b.position

    после:
    select a.id, a.name,
              b.position

    Итог. Эта модель не идеальна. Нужно делать отступы для select и from на первом уровне, чтобы посадить на ось where, group by, order by; также join-ы следующего уровня напирают на ось предыдущего.
    PS: Ваш запрос я бы оформил так:
    62d24e2e5ddec369552006.png
    Ответ написан
    Комментировать
  • Нужно ли удалять старую версию драйвера NVIDIA GeForce, чтобы обновить на новую?

    @alexalexes
    По идее, новый установщик драйвера либо предложит удалить/обновить старый, либо перепишет все сам в спорных ситуациях.
    Но поскольку софт видеокарты - это не только сам драйвер, но и другие утилиты, состав которых может быть разным от версии к версии. Могут возникнуть ситуации, когда какая-нибудь сопутствующая утилита может вызвать конфликт установки или работы драйвера.
    Надежнее всего делать удаление всего софта связанного с видеокартой, поставляемого в комплекте с видеодрайвером. Потом перезагружать компьютер. И потом запускать установку нового драйвера.
    Ответ написан
    Комментировать
  • Как изменить title и description на определенных страницах DLE?

    @alexalexes
    Если знаете, какая php переменная отвечает за id страницы, то перед формированием $metatags делаете переопределение всем необходимым свойствам. Статичные строки, которые будут изменяться, выносите в переменные.
    $meta_desc = 'Быстрые и качественные исследования в круглосуточном режиме работы, диагностика проводятся высококвалифицированными специалистами, профилактика здоровья';
    $meta_kw = 'sattimed.kz, диагностика, диагностический центр, МРТ, КТ, УЗИ, саттимед, рентген, радиология, магнитно-резонансная томография, рентгеновский компьютерный томограф';
    if($id == 1) // предположим, что переменная, отвечающая за id страницы - это $id, а главная страница под идентификатором 1.
    {
      $metatags['title'] = 'Главная страница'; // хотим переопределить заголовок для главной
      $meta_desc = 'Главная страница сайта'; // хотим переопределить метаописание для главной
    }
    $metatags = <<<HTML
    <meta charset="{$config['charset']}">
    <title>{$metatags['title']}</title>
    
    <meta name="description" content="{$meta_desc}">
    <meta name="keywords" content="{$meta_kw}">
    
    {$s_meta}{$robots_meta}
    
    <link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
    HTML;

    Возможности DLE для этой доработки не используются, только логика php и подстановка параметров HEREDOC.
    Ответ написан
  • Как вернуть шрифт в CRM?

    @alexalexes
    С помощью F12, вкладка "Элементы", вкладка стилей "Computed" выясните, какой шрифт используется в свойстве font-family на тех элементах интерфейса, где заметили изменения (включить режим выделения элемента на станице Ctrl+Shift+C). Скачайте файл этого шрифта и установите его в системе заново.
    Ответ написан
  • Работа с таблицами?

    @alexalexes
    К сожалению, геометрические свойства table по отношению к строкам и ячейкам слишком древние и не подчиняются подстройки через first-child, last-child. Можно только добавить внутренние отступы для ячеек последней строки. Но эти ячейки должны содержать какой-то контейнер, чтобы имитировать цвет фона ячейки.
    В этом случае, цвет фона не должен быть на самой строке или ячейке.
    .table tr:last-child td
    {
      padding: 5px 0;
    }
    Ответ написан
    Комментировать
  • Как в notepad++ выделить только первые 3 слова?

    @alexalexes
    Применить регулярное выражение на замену ненужной части конца строки:
    \s[0-9]+\s[а-яё\-]+\s[\d]+$
    Ответ написан
    Комментировать
  • Возможно ли сделать трасформируемую таблицу? Когда неизвестно будет 2,3 или 4 колонки?

    @alexalexes
    <div class="table">
          <div class="row">
            <div class="cell">1</div>
            <div class="cell">2</div>
            <div class="cell">3</div>
            <div class="cell">4</div>
          </div> 
        </div>

    Возможно, даже несколькими способами.
    Старинным табличным:
    .table
          {
            display: table;
            table-layout: fixed; /* это свойство определяет ключевое поведение */
            width: 100%; /* это свойство определяет ключевое поведение */
          }
          .row
         {
            display: table-row;
          }
          .cell
          {
            background-color: #ff3344;
            display: table-cell;
          }

    Современными:
    через flex блоки:
    .row
         {
            display: flex;
          }
          .cell
          {
            background-color: #ff3344;
            flex-basis: 100%; /* это свойство определяет ключевое поведение */
          }

    Через grid блоки:
    .row
         {
            display: grid;
            grid-auto-columns: 1fr; /* это свойство определяет ключевое поведение */
          }
          .cell
          {
            background-color: #ff3344;
            grid-row: 1; /* это свойство определяет ключевое поведение */
          }
    Ответ написан
    1 комментарий
  • Как удалить строку в бд через Read Bean Php?

    @alexalexes
    Без понимания чистого SQL прослойка ORM в виде Read Bean крайне неочевидной вещью становится:
    function claim_message($msg, $msgFh, $msgTh, $uuid)
    {
      $var = R::findOne("messages", "msg_th = ? AND is_read = 0'", [$msgTh]);
      if(!is_null($var))
      {
        $delete = R::load("messages", $var->id);
        R::trash($delete);
        return $msg;
      }
      return "null; $msgTh , $msgFh";
    }

    А где тут цикл?
    Ответ написан
  • Как сменить hover для маленьких экранов с касаниями?

    @alexalexes
    Вариант 1. Применять псевдоклассы hover с определенной ширины экрана.
    Преимущества. Классическое применение media с width работает с более древними браузерами, начиная с IE9.
    Недостатки. Делается предположение, что сенсорное устройство имеет маленький размер экрана. Но это ничего не говорит о наличии только сенсорного управления.
    @media (min-width: 768px)
    {
      /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }

    Вариант 2. Применять псевдоклассы hover для устройств, поддерживающих hover.
    Преимущества. Анализируется именно наличие функции, а не предполагаемый размер экрана.
    Недостатки. Не все условно древние браузеры понимают media с условием hover. От поддержки IE придется отказаться.
    /* устройство поддерживает hover*/
    @media (hover: hover)
    {
        /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }

    /*устройство не поддерживает hover */
    @media (hover: none)
    {
      /* селектор стилей для кнопки при наведении - не нужен, либо должен переопределять свойства hover на нейтральное состояние */
     /* slider__button:hover
      {
      }*/
    }

    PS:
    Есть хак для поддержки media с hover для старых браузеров, но будут проблемы, если нужно иметь валидный CSS.
    @media (hover), (min-width:0\0), (min--moz-device-pixel-ratio:0)
    {
         /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }
    Ответ написан
    Комментировать
  • Как вставить все значения у всех таблиц через JOIN?

    @alexalexes
    Так:
    SELECT *
    FROM table1 t1
    RIGHT JOIN table2 t2
    ON t1.ID = t2.ID;

    или так:
    SELECT t1.*, t2.*
    FROM table1 t1
    RIGHT JOIN table2 t2
    ON t1.ID = t2.ID;

    А зачем вам insert, когда задача на "вывести"?
    Ответ написан