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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть вот такой небольшой запрос, который получает список всех значений и рядом приписывает кол-во ответов.
    Нет, он этого не делает.

    Из сроки "_post" в базе он ищет ячейку xfields и все значения стэкует списком option.
    _post это не строка, а таблица, и не "ищет ячейку", а выбирает значения из колонки xfields, и ничего при этом не "стыкует".

    и тогда он выдает все через запятую вместо того чтобы писать отдельно списком:
    Запрос как раз выдает все списком, а вот дальнейшая обработка конечно редчайшая дичь...

    Т.е одна запись, может иметь несколько значений и их нужно выводить отдельно а он выводит через запятую
    Ну так поправьте код, там где обрабатывается массив и выводите как вам удобно.
    Ответ написан
    Комментировать
  • Как сделать автоматическое скачивание файла с сервера по его пути или ссылке PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня есть путь файла,
    пример, путь куда???
    у меня есть действие (нажатие кнопки в форме)
    Такое впечатление что переводил с испанского гугл транслейтом...

    и я через add_action ловлю его
    Кто такой add_action, и кого "его" вы им ловите?

    и хочу чтобы внутри скачивался файл с сервера,
    Внутри чего???

    Пробовал такую штуку, зависает подтверждение отправки формы и ничего не происходит(в обоих случаях):
    Где форма, что за подтверждение? оба случая - это какие? "Штука" у вас по адресу экшна формы?

    И пробовал редирект на ссылку файла:
    header('Location: ссылка');
    Это так не работает, вы уже отослали все заголовки и после них хеадер абсолютно бесполезно вызывать.

    На самом деле вообще не сильно понимаю зачем эти танцы с бубном, просто сделайте линк на ваш download.php, в нем пропишите вашу "штуку" и все будет работать как вы хотели.
    Ответ написан
    1 комментарий
  • На хостинг приходят пустые form PHP, в чем заключается ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Дебаг, var_dump()? Не, не слышал...
    Ответ написан
    Комментировать
  • Как передать ссылку в CSV с помощью PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    fputcsv($File, ['=HYPERLINK("https://qna.habr.com/q/848207","Сылка1")', 'Сылка2'],";");
    Ответ написан
    6 комментариев
  • Как оптимизировать / кэшировать кучу тяжелых запросов к MySQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Проверить индексы на таблицах, с такими объемами у вас все должно летать.
    2) Кэширование используется на часто вызываемых запросах, где не критично отставание от точных хранимых данных в пределах некоторго заданного временного интервала, например список последних новостей на сайте изменяется не часто, а запрашивается постоянно, есть смысл хранить его в кеше хотя бы 15-30 минут. А у вас ситуация ровно обратная - запрос делается редко, и данные нужны актуальные.
    3) к п.1 нужно соответственно добавить проверку, как работают запросы и используются индексы, explain в руки и вперед.
    Ответ написан
    9 комментариев
  • Не отрабатывает htmlspecialchars php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых, как заметил Adamos, следите за именованием переменных, $seacrh это конечно сильно...
    Во вторых -
    но скрипт все равно можно вывести
    да, можно вывести, но нельзя выполнить, о чем вам справедливо заметил FanatPHP, почувствуйте разницу.

    Вообще, все плохо. Для очистки данных от тегов есть strip_tags(), но вы почему то упорно тупите и не читаете документацию и не пользуетесь поиском из принципа.
    Ответ написан
    2 комментария
  • Как кэшировать / оптимизировать результат запроса MySQL в Wordpress, не создавая еще большей нагрузки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть ли способ кэширования таким образом, чтобы не создавалась еще большая нагрузка?
    Собственно кэширование есть способ сэкономить на медленных запросах. Как я понимаю в вопросах работы алгоритмов вы не в зуб ногой, больше по настройке формочек в вордпрессе... Кэш создается 1 раз, и используется для всех дальнейших запросов как готовый ответ от бд, на определенный срок. Для этого во многих инструментах кэширования есть штатные методы отслеживания интервала хранения конкретного значения.

    Условно: выбираете топ 10 количества просмотров игр, кладете в кэш на час, и пока кэш существует в базу не лезете, тащите из кэша. Как только кэш автоматически очищается - делаете еще раз запрос, опять кладете в кэш... Таким образом вместо 500 запросов в час у вас будет 1 запрос, все остальное будет тащиться из кэша, и данные будут не старше часа по актуальности. Можете сократить / увеличить время кеширования и таким образом балансировать в плане нагрузка/актуальность данных.
    Ответ написан
    4 комментария
  • Как увеличить количество запросов в секунду Laravel (PHP)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Может пора включить кэширование?
    Ответ написан
  • Можете объяснить почему не работают пути в MVC?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Роутер написан не очень рационально, по идее неплохо бы сначала разобрать урл на составляющие (апп, язык, контроллер, экшн), а затем из этого проверять есть ли совпадения, и если нет - использовать дефолтный прописанный в урл путь как сайт/язык/апликэйшн/контроллер/экшн/парам1/валуе1/... , ну да не суть.

    2) Дебаг - одна из ОЧЕНЬ важных составляющих в обучении и развитии программиста.
    Важно понимать как и где что-то пошло не так, знать как проверить и быстро вникать в логику происходящего. Например:

    public function run(){
            if ($this->match()) {
                $path = 'application\controllers\\'.ucfirst($this->params['controller']).'Controller';
                if (class_exists($path)) {
                    $action = $this->params['action'].'Action';
                    if (method_exists($path, $action)) {
                        $controller = new $path($this->params);
                        $controller->$action();
                    } else {
                        var_dump(['no method',$this->params]);
                        exit();
                        View::errorCode(404);
                    }
                } else {
                    var_dump(['no class',$this->params]);
                    exit();
                    View::errorCode(404);
                }
            } else {
                var_dump(['no match',$this->params]);
                exit();
                View::errorCode(404);
            }
        }

    И тупо смотрим что к чему...
    Ответ написан
    Комментировать
  • Всем привет. Я сейчас создаю интерфейс по выгрузку данных с базы и у меня выдает ошибку ORA-00933 при запуске, может кто помочь?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var_dump($query); exit;
    $stid = oci_parse($conn, $query);
    И руками в консоль бд вставьте, посмотрите что не работает, да и чисто глазами проверьте все ли сформировалось правильно.
    Ответ написан
    1 комментарий
  • Почему сообщение с формы приходит с пустыми значениями?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так много вопросов, и так мало ответов....
    $("#forms").submit(function () {
            // Получение ID формы 
            var formID = $(this).attr('id');
            // Добавление решётки к имени ID
            var formNm = $('#' + formID);

    То есть мы взяли форму по айди(!), чтобы потом из нее узнать айди, чтобы потом по айди ее вызвать... Найс, фигли...

    В остальном - как написал Дмитрий, все по порядку - консоль, потом, если нет ошибок консоль-нетворк, проверить что уходит и что приходит, потом смотреть что на сервере происходит - вар_дамп все переменные по очереди...
    Ответ написан
    Комментировать
  • Быстрый парсинг строки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    на ум приходит только мап + прег_реплэйс. Но чет мне кажется регулярки не будут сильно быстрее...

    PS: если изображения имеют одинаковые размеры, в смысле всегда какой-то из заданных, то можно использовать размер "1350_900" как ключ, а в значениях хранить разрешение '1350x900', по ключу из массива всяко быстрее будет чем операции с заменой строки и т.д...
    Ответ написан
  • Как правильно написать запрос PHP SOAP WSDL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Возможно с этим будет понятнее, но вообще в доках вроде достаточно подробно все описано.
    Ответ написан
    Комментировать
  • Как объединить массив если есть совпадения?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если ID у вас уникальное значение, то и делайте его ключом.
    $result['ITEMS'][222] = 
    [
    'ID' = 222,
    'SORT' = 300,
    'NAME' = 'NAME_1',
    'GROUPS' = [21236]
    ];
    ...
    Ответ написан
  • Как сделать вывод данных с текущего аккаунта через MySQL и PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Сессия. Не та которую ты мог бы завалить в институте, а сессия - метод хранения данных между запросами.
    Ответ написан
    Комментировать
  • Нельзя добавить один и тот же продукт два раза (проверка только по ссылке объекта)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...
    if (in_array($product, self::$products, true)) {
    ...
    Ответ написан
    2 комментария
  • Куда будет отправлен ответ echo после POST запроса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как можно узнать куда именно будет отправлен ответ сервером, на уровне PHP
    Будет отослан туда откуда пришел запрос, по тому как сервер либо отвечает на запрос, и тогда ответ уходит туда откуда пришел запрос, либо инициирует его самостоятельно (например через курл), и тогда вы сами выбираете с кем инициализировать обмен данными, но вторая сторона должна уметь принять этот запрос, то есть тоже должно быть установлено соответствующее ПО. То есть рандомному юзеру из интернета вы не отошлете данные (точнее отошлете, но обработать он откажется).

    Или же есть какие-то другие варианты отправить ответ принудительно указав домен(адрес) получателя.
    Ответ - нет, а то получается что спросил вася, а отвечаете вы феде.

    Вопрос явно туповат, и скорее всего сам вопрос так и остался в голове автора, под грудой довольно глупых подвопросов... Что нужно реализовать опишите, а то все кругами вокруг да около...
    Ответ написан
    3 комментария
  • Как сделать отправку формы без перезагрузки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    хоть я и убрал хвост в php мэйлере о расположении страницы перехода, он, отправляя форму переходит на пустую.
    Чиивоо?

    Код аяксовой отсылки в студию, похоже что у вас не аяксом оно отправляется...
    Ответ написан
    1 комментарий
  • Не работают запросы INSERT и UPDATE, что я сделал не так?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите пожалуйста, что я делаю не так
    Не занимаетесь отладкой, а занимаетесь гаданиями.

    и где может быть моя ошибка.
    В произвольном месте. По этому проверяют по порядку
    1) Что передается в data в яваскрипте (console.log)
    2) Что передается в на сервер (смотрим нетворк браузера)
    3) Что получили на стороне сервера (var_dump и тот же нетворк, смотрим ответ аякса)
    4) Проверяем запрос, и с таким заданием плейсхолдеров бинд не нужен:
    $stm = $this->db->prepare($sql);
    $stmt->execute($params);
    Ответ написан
    Комментировать
  • PHP или Java script, Как вывести публичный и локальный IP адрес, операционную систем и местоположение посетителя?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    айпи адрес из стандартного $_SERVER["REMOTE_ADDR"], имя устройства из трейсроута скорее всего, анонимайзер из форвардед фор, остальное из яваскрипта, легко гуглится и легко подделывается на клиенте. вот пример что выдает мне на виндовой машине из хрома:
    5f40ecf2a0676261644140.jpeg
    Ответ написан
    Комментировать