Ответы пользователя по тегу PHP
  • Как запустить php скрипт что бы он не отлетел по тайм ауту?

    Haotik
    @Haotik Автор вопроса
    PHP мидл без фреймворков
    Спасибо за помощь.
    В целом в скрипте mysqli после каждого запроса потихоньку кушал память до переполнения из за этого скрипт и выпадал с killed
    сейчас этот момент оптимизировал 4 час скрипт работает нормально.

    Причину почему запрос падал увидел благодаря команде dmesg -T

    И отдельное спасибо что рассказали что у письма есть еще отдельный id по которому можно его идентифицировать независимо от id под которым возвращает письма imap. (подробнее есть в комментариях)
    Ответ написан
    Комментировать
  • Как исправить дублирование заявок c формы Contact Form 7?

    Haotik
    @Haotik
    PHP мидл без фреймворков
    Сталкивался с такой ситуацией когда несколько раз подряд жмали на кнопку отправить и при этом скрипт притормаживает. (От некоторых постоянных клиентов по 3-4 заявки за раз стабильно падало)
    Варианты решения с фронта - добавить к обработчику обнуление формы после сабмита, отключить кнопку что бы не было дублирование клика
    Варианты с бэка - проверять некий ключ формы на уникальность или поле с уже существующими заявками.
    Ответ написан
    Комментировать
  • Как в foreach вывести от дешёвых к дорогим?

    Haotik
    @Haotik
    PHP мидл без фреймворков
    изначально отсортировать массив с продуктами.
    ссылка на базовые функции php
    если я не ошибаюсь то вы приложили код вывода внутри шаблона / шаблонизатора?
    Если же изначальный массив продуктов нужен в незименном виде, создайте доп переменную и отсортируйте / выведите уже ее.
    Ответ написан
    Комментировать
  • Foreach, странное поведение цикла?

    Haotik
    @Haotik
    PHP мидл без фреймворков
    Так если я не ошибаюсь она не в подмассиве $arResult[items] она последний элемент массива $arResult.
    Хотя по вашему примеру должна им быть...

    Извините ошибся )
    Ответ написан
    Комментировать
  • Как сделать вывод информации при нажатии на кнопку?

    Haotik
    @Haotik
    PHP мидл без фреймворков
    Если все таки будете использовать JS то попробуйте ajax.

    Если кратко при нажатии на кнопку аякс скрипт будет отправлять указанные вами данные на бэкэенд, где php обработчик подготовит нужные данные, например выберет нужные строки из БД. (там же лучше все сверстать сразу что бы потом через js не прописывать) и отправит их обратно пользователю и выведет в указанный вами блок.

    Данный способ все таки более предпочтителен чем выкидывать на страницу все возможные варианты сразу и потом их фильтровать. (как размер самой страницы, так и возможно вывод каких то персональных, приватных данных в общем потоке)

    Если же без использования JS
    То.
    1. выводим все данные на страницу с обязательным укзаанием ID блоков.
    2. Кнопки делаем ссылками с указанием id связанного блока Кнопка
    3. В CSS прописываем скрытие всех под элементов - display: none
    4. В CSS используем псевдокласс :target {display:block;}

    span{
        display: none;
    }
    
    span#element:target{
        display: block;
    }


    Логика
    При нажатии на кнопку элемент с указанным в нем ID получает псевдо класс :target который можно использовать в css

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

    Haotik
    @Haotik
    PHP мидл без фреймворков
    Если индексы у элементов совпадают и нет пропусков то можно сделать примерно таким образом $array_2 - Второй массив
    <?php 
     
         		foreach($article as $key => $index) {
            	?> 
                <tr>
                <td><?php echo $index;?></td>
                <td><?php echo $array_2[$key]?></td> 
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
              </tr>
          	<?php
                }
          ?>

    Но лучше бы конечно что бы все данные относящиеся к одному элементу - строке хранились в одном массиве. А сейчас в первом массиве должен существовать некий указатель который будет использоваться что бы выбирать значения из второго массива. - в бд это называют ключевым полем
    Ответ написан
    Комментировать
  • Почему в POST/GET могут не попадать hidden value?

    Haotik
    @Haotik Автор вопроса
    PHP мидл без фреймворков
    Проблема оказалась в сторонней js библиотеке и кэше cms
    библиотеку отрубили уже "давно" (за час до того как вопрос написал) однако в кэше она продолжала крутиться и ломала код.

    Всем спасибо кто интересовался
    Ответ написан
    Комментировать
  • Как можно использовать Traits для установки переменных классов?

    Haotik
    @Haotik Автор вопроса
    PHP мидл без фреймворков
    Спасибо за идеи, но удалось реализовать этот вариант
    function setVar($name, $value) {
    $this -> $name = $value;
    }
    $key -> setVar('count', $_GET['count']);

    Всем спасибо
    Ответ написан