Задать вопрос
  • Как сформировать последовательность из дат?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Перевести дату в стандартный формат, далее можно использовать MONTH() YEAR() DAY() для нужной сортировки.
    Ответ написан
    Комментировать
  • В каком направлении развиваться SQL разработчику?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Чистый SQL разработчик нужен в 1 случае на 1000, например сложный по архитектуре бд проект и средние знания у разрабов. Выгоднее нанять 1 дбшника, чем переучивать толпу девелоперов. Но в 99% случаев дбшник избыточен.

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще такое делается с серверной части, когда сайт динамический. В вашем случае можно сделать так:

    1) Выбрать все ссылки из сайдбара
    2) пройтись циклом по выбранным элементам, сравнить входит ли в текущий урл хреф из ссылки
    3) Если входит - применить к ней стиль с соответствующими эффектами
    Ответ написан
    2 комментария
  • Для чего может понадобиться создавать массив с пустыми значениями?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Например чтобы array.length был определенной длины... Вообще если функция есть, скорее всего для чего-то она нужна, иначе бы ее не создавали...
    Ответ написан
  • Как сделать перенаправление по слову html?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    js + onClick + preventDefault() + window.location.href
    Ответ написан
  • Аналог sql запроса LIKE% для ElasticSearch?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    SELECT * FROM store WHERE LIKE 'сбер%'
    Это по тому что у вас и с SQL не все норм. Хинт - между WHERE и LIKE пропущена важная составляющая.

    UPD: Судя по ошибке у вас там индекс на фултекст, по этому вместо лайк должно быть что-то типа MATCH(cp_name, 'сбер', 'fuzziness=AUTO:1,5')
    Ответ написан
  • Почему сессия не уничтожается?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Давайте вместе почитаем документацию и поучимся понимать что пишут умные дяди и тети:

    session_destroy() уничтожает все данные, связанные с текущей сессией. Данная функция не удаляет какие-либо глобальные переменные, связанные с сессией и не удаляет сессионные cookie. Чтобы вновь использовать переменные сессии, следует вызвать .
    Это значит что у вас в текущем состоянии пропадает переменная $_SESSION и связанный с ним идентификатор, но кука сессии и файл сессии на сервере никуда не деваются. И при следующем обращении к серверу вы делаете session_start() и сессия вновь работает.

    Замечание: Нет необходимости вызывать session_destroy() в обычном коде. Очищайте массив $_SESSION вместо удаления данных сессии.
    Очень важное замечание, как раз связанное с вашей возмущенной репликой о том что "ну вот так же работает!111!". При большом разнообразии настроек и конфигураций серверов, сессия может вести себя по разному, что с одной стороны дает гибкость поведения если знать как и зачем вы что-то делаете, с другой стороны может вызвать проблемы, как в вашем случае, когда вы не очень понимаете зачем какие настройки и как обойти возникшие сайдэффекты. По этому самым верным решением является удаление данных из сессии.

    Чтобы полностью удалить сессию, также необходимо удалить и её идентификатор. Если для передачи идентификатора сессии используются cookie (поведение по умолчанию), то сессионные cookie также должны быть удалены. Для этого можно использовать setcookie().
    Чего вы очевидно не делаете.

    При включённой опции session.use_strict_mode, вам не нужно удалять устаревшие cookie идентификатора сессии. В этом нет необходимости, потому что модуль сессии не примет cookie идентификатора сессии, если с этим идентификатором сессии нет связанных данных, и модуль сессии установит новый cookie идентификатора сессии. Рекомендуется включать опцию session.use_strict_mode для всех сайтов.
    Рекомендуемые настройки, которые возможно вам помогут решить проблему именно вашим способом, НО вышеописанный способ является рекомендуемым.
    Ответ написан
    Комментировать
  • Как правильно сформировать такой запрос?

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

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

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

    Подскажите, пожалуйста, в чем моя ошибка?
    Использование внутренней функции mail() оправдано только в случае если это полностью контролируемый и настроенный вами сервер.

    Используйте phpmailer/swiftmailer.
    Ответ написан
    1 комментарий
  • Как сгрупировать запрос в Laravel?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Что-то типа:
    $a = Model::orderBy("id", 'desc')->limit(3);
    $b = Model::latest()->union($a)->get();
    Ответ написан
    Комментировать
  • Почему не приходит значение переменной при Ajax запросе на страницу отправки?

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

    При обновлении страницы значение txt не приходит на страницу,
    Оно не на страницу должно приходить, а в переменную data внутри скрипта.

    отображается null и код $('p.out').text(data);
    Нулл отображается так как вы открыли страничку методом get, соответственно переменная $_POST абсолютно пустая. Далее вы скриптом запросили страничку уже методом POST, и в ответ получили ВЕСЬ ЗАПРОШЕННЫЙ ФАЙЛ, начиная с <html> и далее весь текст страницы. Ну и в конце уже правильный ответ в json, так как сейчас метод запроса POST.
    Для особо... задумчивых - в аякс колбэк в переменную data возвращается ВСЕ что вернул сервер, а не только то что вы себе нафантазировали.

    Закономерный вопрос, я бы сказал классика русской философии - что делать? Во первых, разобраться как это все работает и почему все именно так как получилось. Чисто для лучшего понимания как вообще работает связка пхп-жс-аякс (ну и все подобные взаимодействия клиент-сервер). Ну и логично что если нам нужно получить только json_encode($arr);, то выводить его надо ДО вывода всей остальной страницы, и на этом сказать скрипту строгое "стопэ, дальше не надо", при этом если метод НЕ ПОСТ, то пхп скрипт вывода срабатывать вообще не должен. Как это реализовать оставляю на вашу фантазию, сообразительность и умение пользоваться гуглом.
    Ответ написан
    5 комментариев
  • Почему не приходит ответ на запрос?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    explode(), foreach массива, trim() значений, опять explode(), получаете ваши значения.

    UPD:
    Как теперь массово выдать монеты этим пользователям через mysqli ?
    Ну так откуда нам знать? Что за таблица, что и как там храните? Вообще понятие "массово" вставить разнородные данные может подходить только к инсерту, апдейт в вашем случае делается единично каждой записи по условию совпадения поля. Внутри вашего форича после получения данных и делайте апдейт.
    Ответ написан
    Комментировать
  • Как исправить ошибку при подключении БД Access к PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вроде ODBC не предназначен для аксеса, везде рекомендуют использовать пдо. Либо ставить руками поддержку аксеса, что скорее всего в любом случае понадобится.
    https://stackoverflow.com/questions/2222684/connec...
    https://stackoverflow.com/questions/19807081/how-t...

    Так же, что нужно для доступа к аксесу как источнику (там про мс скуель, но драйверы будут одинаковые нужны и для пыха):
    https://learn.microsoft.com/ru-ru/sql/integration-...

    PS: Все еще не понимаю назачем издеваться над собой, не легче экспортировать базу во что-то живое?
    Ответ написан
    2 комментария
  • Как работает тег video?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Имеется телеграмм бот, который должен отсылать отчеты о состоянии оборудования по периодам (Сейчас, Прошлая неделя, эта неделя и т.д)
    Если репорт - отдельная запись, то достаточно даты создания репорта. Никакой отдельной таблицы не нужно, так как это во первых будет нарушать 3 нормальную форму и соответственно вносит денормализацию в бд, и во вторых избавляет от множества лишних телодвижений по созданию странных таблиц. Селект с битвин или "дата < N энд дата > M" будет достаточно.
    Ответ написан
  • Выдает ошибку при создании AJAX запроса (POST http://blackmamba/score.php 404 (Not Found) ) очки score должны передаваться из js в php(?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    при создании AJAX запроса (POST blackmamba/score.php...
    и
    xhr.open('POST', 'score.php',
    как-то не стыкуется...
    Ответ написан
  • Правильно ли я понял суть транзакций в веб приложениях?

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

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