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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Для начала - не называть поля таблиц на румынском, используйте общепринятый стандарт - английские названия в нижнем регистре.
    2) Читать про базы данных, выполнение запросов в пхп и понимать SQL на уровне "выбрать и отсортировать по полю".
    3) Учить операторы for, foreach, while, понимать для чего и как их использовать.
    Ответ написан
  • Есть сайт, который берет данные из БД, как добавить вторую БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В чем вопрос? При чем тут аякс и жквери? Делаете 2 соединения, присваиваете разным переменным ссылку на разные соединения - все. Когда нужно 1 бд - юзаете $bd1, когда второе - $bd2.
    Ответ написан
  • Какой стиль программирования на php лучше?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Четкая структура приложения, чтобы все модули работали по единой схеме(смотреть MVC как самую распространенную для пыха и самая понятная для новичков)
    2) Объекты, почитать про solid и другие grasp.
    3) Единая точка входа и понятный вменяемый роутинг
    Тогда и только тогда разработка превращается из адского ада в приятный процесс написания красивого кода и обдумывания самых удобных/быстрых решений, вместо карябанья тонн фикалокода и тысяч строк дублей.
    Ну и смотрите как что написано у серьезных проектов, гляньте внутрь какого-нть ларавел и фэтфри для начала.
    Ответ написан
    Комментировать
  • Как передать два значения из двух столбцов на сервер php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    каждую строку таблицы оберните тегом form и будет вам счастье
    <form method="POST" action="test.php"  >
    // тут ваша строка таблицы со скрытыми полями и кнопкой
    </form>

    Вообще довольно просто и не должно вызывать вопросов, тем более на тостере, ищется поисковиком, требуются знания на уровне "как работают формы", учите основы.
    Ответ написан
    6 комментариев
  • Запись кастомных полей в БД?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    так как не понятно в каком контексте и где выполняется данный код, единственное что можно посоветовать - дебаг. Пишите все переменные в print_r и смотрите какие значения они принимают, явно где-то что то не так присваивается или наоборот не изменяется когда должно.
    Ответ написан
    Комментировать
  • Почему не происходит переадресация?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я смотрю здесь идет отбор на битву экстрасенсов )
    Возьми за правило проверять действия пошагово если что-то не работает, для начала оставь только строку с редиректом, без ифа, далее логично проверить что попадает в условие проверки и тд.
    Ответ написан
    Комментировать
  • Как обновить выведенные данные из mssql на php?

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

    1) Запрос аяксом по таймеру( грузит и сервер и клиент, выполняет кучу ненужных запросов, генерируя мусорный трафик)

    2) Лонг поллинг запросы - упрощенно - на сервер идет 1 запрос от клиента, который имеет длинный таймаут, сервер держит это соединение открытым до момента когда на сервере появляются новые данные, после чего отдает в запрос эти данные и закрывает соединение, из браузера открывается новое соединение и тд. Искать тут или в гугле long polling.

    3) Сокеты, в принципе это те же лонг поллы, только более оптимально обкатанные, обычно на soсket.io и node.js, которые умеют это "из коробки" и не требуют дополнительных настроек сервера как в случае чисто
    пхп лонг поллов.

    По всем трем видам море информации, можно смотреть статьи типа такой, весь функционал подробно разжеван.
    Ответ написан
    Комментировать
  • Сценарий изучения/карта развития PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ну, хз, тут как правильно, но и для новичка найдется чему поучиться, а так - да, курсы это хорошо, но реальный проект гораздо эффективнее. Особенно когда умеешь гуглить, и думаешь над каждым шагом. Быстрее всего вникнуть в язык - попробовать поднять какой-то свой проект на нем. Да, упускаешь кучу нюансов, делаешь что-то не по уму, но зато быстро вникаешь в суть технологии. После этого уже смотришь как пишут "папы", от ларавела до зенда/симфони. И бд и прочих внешних плюшек подучить в процессе придется, но админу это не в новинку, учить что-то новое приходится почти каждый день. Так что думаю осилите.
    Ответ написан
    Комментировать
  • Что нужно изучать после изучения php(включая ООП) для больших проектов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    и это спрашивает человек задававший вопрос "Остаток от деления числа выдаёт неправильный результат, что не так в моей проге?"? Пхп учите, SQL, попробуйте с фреймворками поработать, а то как в "джентельменах удачи" - переводчиком пойду, английский я знаю...
    Ответ написан
    2 комментария
  • Есть ли готовые решения для сжатия изображений без потерь?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Начнем с того что сжатия изображений без потерь не работает для уже сжатых файлов, например jpg, png, gif, за редким исключением, когда например гиф или пнг имеют меньшее реальное количество цветов чем задано в палитре. Речь идет о сжатии с потерями, которое хотя и не портит изображение до неузнаваемости, все же вносит серьезные искажения в картинку, как в цветовом плане, так и в плане "зернистости" и "артефактов". Приемлемый уровень сжатия индивидуален для каждого отдельно взятого изображения, и чаще всего отображается в условной шкале "качества" от 1 до 10 (иногда от 1 до 100, просто шаг искажений делают меньше), где 10 - очень малая степень сжатия и высокое качество, а 1 - полный фуфел, в котором не всегда можно угадать о чем вообще картинка. Соответственно, сжать все в папке не лучший вариант, с каждым проходом и пережатием качество падает, даже не смотря на то что мы выставим максимальное качество, через N итераций мы получим фуфло в чистом виде. По этому гугл определяет отношение размера картинки в пикселях к размеру в байтах и выдает рекомендации на основе статистики, сколько примерно должна весить такая картинка, +/- , пережимать или нет. Так что я бы не стал прям вот все картинки в папке так наивно под одну гребенку.
    Ответ написан
    1 комментарий
  • Как сделать ассихронную запись в файл на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    file_put_contents(__DIR__ . '/testfile.txt', 'Start ' + $_GET['id'], FILE_APPEND | LOCK_EX);
    sleep(5);
    file_put_contents(__DIR__ . '/testfile.txt', 'End ' + $_GET['id'], FILE_APPEND | LOCK_EX);

    или накапливать данные в переменной, затем заносить скопом.
    Ответ написан
    Комментировать
  • Распознавание голоса php+js?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пример такого сервиса Speechpad.

    с сайта сервиса:
    Установка флажка Отключить управление заглавными буквами Google отменяет простановку заглавных букв анализатором Google.

    что говорит об использовании гугл спич апи.
    Ответ написан
    Комментировать
  • Массив из input нужно отправить через ajax, принять, и записать в базу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var video = $("input[name='video[]']").val();

    на сколько я понимаю (не суперспец в жс) здесь вы получаете одно значение, не массив значений. Я не уверен какое, первое или последнее, но точно не массив всех значений из инпутов. По идее вообще должно выдавать ошибку, но это можно проверить выведя в консоль что там у вас получилось в video. Соответственно получить все инпуты в массив, а затем уже к каждому в форе применять .val(); В итоге получить массив, как его отправлять уже вопрос вкуса, имхо проще зажсонить и отослать как строку, где и распарсить.
    Ответ написан
    3 комментария
  • Какой инструмент можно использовать для логирования вызовов небезопасных/подозрительных функций PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    оверрайд наверное подойдет как вариант, тут важно чтобы все запускалось обернутое вашим скриптом.
    Ответ написан
    3 комментария
  • Как выводить кириллицу из MySQL через ПХП?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    пхп ини настроить:
    default_charset = "utf-8"
    Ответ написан
  • Не работает счетчик просмотров поста?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как и везде, есть несколько путей, например:
    * Крон каждые 10 минут, это будет не большая нагрузка и не думаю что игровая механика поломается если вещь продастся не через час, а через час и 5 минут.
    * Не делать крон, а при очередном запросе списка вещей проверять на наличие "устаревших" шмоток и автоматически менять на деньги. Тогда нагрузка будет более выборочной, "размазанной" во времени, + у вас все равно будет запрос к шмотке, тут ее и обрабатывать, сэкономите кучу запросов и ресурсов.
    Ответ написан
    Комментировать
  • Отправка с формы в 2 столбца?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как связана отправка полей и вставка в базу?
    (Ответ - НИКАК)
    Ответ написан
    Комментировать