• Как внутри массива найти значения с разделителем и разбить эти строки?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как на php окрашивать прямоугольник при наведении на него курсора?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    и соответственно никаких баз данных для хранения пользовательских данных
    Внезапно, текста тоже где-то надо хранить.

    При этом хотелось бы, чтобы у сайта была админка и текст/картинки можно было бы поправить через web-интерфейс, а не закидыванием новых html-ок на NAS.
    Скорее всего что-то типа вордпресс + sqlite может подойти.
    Ответ написан
    1 комментарий
  • Как грамотно сделать поиск по фильтрам и где хранить характеристики?

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

    Минус - для поиска нужно строить достаточно объемные запросы, не помещающиеся в обычную логику по типу "селект вэа..." и требующие некоторого конструктора запросов. Так же, в большинстве случаев скорость запросов будет падать с ростом используемых атрибутов, но тут как раз нужно будет использовать фасетный поиск, то есть для группы товаров можно резко ограничить выборку через признак группы атрибутов, свойственные только этой группе, что сужает выборку и ускоряет поиск по тарибутам.
    Ответ написан
    2 комментария
  • Что не так в моем методе утаения товаров из корзины?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Начнем с того что роуты так не пишутся. А хелпер роута работает не так как у вас предполагается.
    //router 
    ...
    Route::post('/add/{productId}', [CartController::class, 'addToCart'])->name('add.product.toCart');
    Route::delete('/remove/{productId}', [CartController::class, 'remove'])->name('product.remove');
    ...
    
    //Controller
    public function remove($productId)
    {
    /* это вообще в мидлваре должно происходить, тут ему делать нечего, впишите роут в ауч группу...
        if (!Auth::check()) {
            return redirect()->route('login');
        }
    */
        $cart = Session::get('cart');
        if (array_key_exists($productId, $cart)) {
            unset($cart[$productId]);
            Session::put('cart', $cart);
        }
        return redirect()->route('cart.index');
    }
    ...
    //HTML
    <form action="{{ route('product.remove', ['productId'=>$productId]) }}" method="post">
    // читать как работает хелпер route, посмотреть какой урл он выдает у вас сейчас, плакать, править...


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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Как ни странно, но чего-то по типу дельфей под веб нету, ну, в плане wysiwyg IDE с возможностью склепать интерфейс + модули кода к ней. Интерфейс в виде хтмл блоков и яваскрипта для его "оживления" придется писать ручками. Благо код там не сложный, если не лезть глубоко в разработку интерактивных интерфейсов.

    Бэкенд пишется на практически любом языке, но естественно есть группа более заточенных под веб, как то: Питон, пхп, C#, руби, яваскрипт... Практически каждый из них имеет 1-2 популярных фреймворков, включающих из коробки кучу готовых модулей для основных задач веб разработки. Скорее всего ближе к вашему предыдущему стеку будет C# ака ASP.NET Core + MySQL/SQL server, но вообще стоит для начала глянуть пару уроков по каждому, чтобы понять что будет удобнее сегодня конкретно вам.
    Ответ написан
    Комментировать
  • Дальнейшие этапы в создании Приложения после создания прототипа?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Неплохо было бы описать что за приложение, так как варианты слишком широки для описания. Судя по тегу
    МОБИЛЬНАЯ РАЗРАБОТКА приложение на телефон. В зависимости от функционала и требований, это может быть как веб приложение, по простому - сайт, так и наоборот - нативное решение под андроид/айос, вообще не требующее например сервера и соответственно бэекенд разработчика. Общее описание Михаил Р. в целом может подойти, но больше описывает именно веб разработку.

    PS:
    после создания прототипа
    Насколько я понял, у вас не прототип, а Use cases схема.
    Ответ написан
  • Как преодолеть войну браузеров при выборе DateTime input?

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

    Короче, пока только на яваскрипте, например https://flatpickr.js.org/examples/
    Ответ написан
    Комментировать
  • Как подсчитать и вывести количество совпадений значения в строке при запросе в MySQL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    group by + count()
    или
    count(distinct())
    Ответ написан
  • Какие есть фриланс-направления в разработке?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов масса, все зависит от кучи неозвученных нюансов, давайте опишу первые 3 приходящие в голову:
    1) Хранить готовые изображения разного размера, ключ для которых в таблице будет один, а по факту, в зависимости от гет параметров тащится нужного размера, сопоставленное по ключу и размеру.
    То есть табличка имеет вид : [id] | key | size | real_aws_key , через софт бэкенда тянете картинку с сервера хранения, отдаете в виде потока.
    2) NGINX + модуль, тут вроде нужно будет подергать настройки, и поплясать с бубном, но зато решение практически коробочное. Минус - жрет проц. Можно организовать то же самое, но через софт, тот же imagick например.
    3) Хранить превьюшки локально, на облако заливать только большие файлы, по запросу тащить нужные превьюхи из папок, например что-то типа \storage\images\500\[image_id].jpg
    Ответ написан
  • Как спарсить выдачу гугла на 100 тыс. страниц?

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

    Есть ли какие-либо сервисы для этого?
    Сомневаюсь. Утверждать не буду, но лично не встречал. Разве что локальные программы по типу HT Track, но проблемы те же - будут блочить.
    Ответ написан
    Комментировать
  • Как установить nextcloud на NGINX Unit?

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

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    og:image
    Ответ написан
  • Как в laravel создать связь модель к таблице?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $count_m = "82;Тут очевидно синтаксическая ошибка сразу. Молчу про то, что числа намеренно передаются строками...

    if($this->page==1) {
    	$page = 1;
    }
    else {
    	$page = (int) $this->page;
    }
    Это что за магия? Что оно вообще делает? Что будет если единица ВНЕЗАПНО попадет в блок else??

    $start = ceil($count_m/$m_per_page);А теперь подумайте, как должна называться переменная, считающая общее количество страниц.

    суть в том, что когда формируется limit 72, 24, т.е 3 страница,
    Стоит пройти курс арифметики за 2 класс, и посчитать что 3 страница будет limit 48, 24.
    limit 24, 24 - вторая и limit 0, 24 - первая.
    Ответ написан
    1 комментарий
  • Как отдать view как картинку в Laravel?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Мне нужно чтоб переход на другую страницу остановился чтоб я мог в консоле проверить данные и другую информацию, как мне это реализовать?
    Открываешь конслоь, ставишь в настройках (шестеренка справа) галочку напротив preserve log. Смотришь что там тебе нужно, в том числе код скрипта который осуществляет переход.
    Ответ написан
  • В чем причина ошибки Failed opening required из .htaccess в Open Server Panel?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Никак не могу понять куда смотреть.
    Для таких случаев нужно логирование и проверки. Начать можно с file_exists(), is_file(), is_readable(), is_writable(), fileowner()...
    Ответ написан