Задать вопрос
  • Насколько неправильно (ужасно) моя организация на сайте?

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

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Вроде ?autoplay=1 не зависит от устройства...
    <iframe width="420" height="345" src="http://www.youtube.com/embed/somevideocode?autoplay=1" frameborder="0" allowfullscreen></iframe>
    Ответ написан
    1 комментарий
  • Как построить базу данных?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Я правильно понял что лучше сделать разные таблица до разного товара

    Нет, не правильно.
    Вариантов хранения и выборки с таким типом связей много придумано, все они имеют свои достоинства и недостатки, но ни одна не использует хранение атрибутов в "плоской" таблице. Александр Аксентьев вот вам подкинул пару ссылок на варианты связей сущностей, но их в природе гораздо больше. Ищите ту которая подойдет лучше в вашем случае.
    Ответ написан
    Комментировать
  • ML:градиентый бустинг на php?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Как я понимаю, результат будет возвращаться в элемент с id=input_area.

    $.ajax({
       url: 'actions.php?show',
       success: function(data){ // <-- сюда вернутся данные из скрипта php, попав в data
              $('#input_area').html(data); // здесь они будут вставлены в соответствующий DOM элемент
       }
    });

    PS: так как у вас пропущена кавычка, работать у вас скорее всего скрипт не будет
    Ответ написан
  • Как правильно удалить запись из базы данных?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Снять уникальность с поля, если есть возможность добавить ТАКОЕ ЖЕ имя под другим id то это нарушает логику работы. Если есть необходимость соблюсти активное состояние уникальным - проверяйте программно перед добавлением новой записи.
    2) Это вполне нормальная практика, частая задача, например для записи логинов. Уникальность проще проверить перед вставкой чем искать причины ошибок при дублировании ключей.
    Ответ написан
    Комментировать
  • Как в цикле редактировать БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    вариант 1:
    Каждый из блоков заключить в тег <form></form>, внутри создать соответствующие скрытые поля. При субмите будете получать весь набор данных, согласно которым уже можно что-то в базу писать. У вас же судя по всему одна форма на весь список. По этому в обработчик попадают все данные, но та как поля дублируются по имени - учитываются последние полученные данные, то есть самые нижние поля. Что и происходит у вас, последний набор меняет состояние.
    Вариант 2: принцип как у варианта 1, только через яваскрипт отлавливать нажатую кнопку и от этого уже делать субмит нужных полей, например используя аякс. Вариант более сложный для новичка, и в целом не слишком популярный.
    Вариант 3: смесь 1 и 2 - при субмите формы отлавливать событие яваскриптом и отправлять данные аяксом на сервер в виде сериализованных данных. По результату ответа от сервера менять состояние кнопки яваскриптом на "готово", или как там у вас, и кнопку дизэйблить.
    Ответ написан
    Комментировать
  • На серверной или на клиентской стороне лучше делать локализацию?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    ЕМНИП контент срендеренный через js не очень хорошо индексируется. Но это было раньше, как поисковики сейчас смотрят на контент точно сказать не могу. Еще нюанс - тащить каждый раз словарь на клиент не очень хорошая идея. Еще вопрос с урл - для разных языков он должен быть разным, то есть хранить текущий язык в куке или локалстораже - плохая идея.
    UPD: имхо лучший вариант - отдавать с сервера уже локализованный контент.
    Ответ написан
    Комментировать
  • Чем дизайн на шаблоне хуже кастомного?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Я так понимаю вы хотите набор аргументов в пользу ваших утверждений?
    ну тогда ...
    1. Html сайт без движка
    преимущества: быстро, дешево, ... все.
    недостатки: Замена контента - либо обращение к разработчикам, либо попаболь с изучением основ верстки/хостинга/етц.
    2. Дизайн на готовом шаблоне Wordpress
    преимущества: быстро, относительно дешево, весь контент можно поменять из админки, включая расположение модулей.
    недостатки: подходит лишь для небольших проектов, не требующих особого стиля фронтенда и высокой производительности бэкенда, новые плюшки разрабатывать сложнее чем на нормальном фреймворке. Однако для сайта-визитки важнее отсутствие индивидуальности и "фишки" в дизайне.
    3. Дизайн на шаблоне-конструкторе
    преимущества - см. пункт 2, я лично не вижу особой разницы.
    недостатки аналогично.
    4. Уникальный дизайн, psd макет, натяжка на Wordpress
    Если ваш дизайнер реально тащит, то отличить стандартный шаблон с монстертемплейта от штучной работы сможет любой человек с хотя бы одним рабочим глазом. Если нет - нафига он нужен? Предложите клиенту вариант 2-3 и скажите что дизайнер разработал. Разницу положите в карман.
    Ответ написан
    Комментировать
  • Почему magnific popup не дает моей форме сработать?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Если задача состоит в выполнении некоторого контроллера/экшна из имеющегося набора, проще не запрашивать урл, а выполнять команды, переданные в параметры скрипта, например создать cli.php, который будет принимать строку типа 'someAction/someController/some Param', и передавать ее роутеру / диспатчеру как урл, и далее уже все стандартно как будто пришли с урл.
    Ответ написан
    Комментировать
  • Почему fancybox не выравнивает окно по центру?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На будущее: PHP при вызове из крона(и из консоли вообще) использует настройки, отличные от пхп настроенного "наружу" через Апач.
    По этому:
    1) Все пути должны быть абсолютные, как к скрипту, так и внутри него
    2) Такие глобальные переменные как $_SERVER, $_GET, $_POST и прочие скорее всего будут пустыми.
    3) Для отладки норм будет ">> somepath/log.txt 2>&1", но если скрипт не выполнится ничего естественно туда не запишется(не забываем что и здесь нужно указать полный абсолютный путь).
    4) Ничего не мешает использовать вполне вменяемое мвц и объекты, достаточно сделать настроечный файл с инициализацией глобальных переменных "вручную" и, в некоторых случаях, подправить автозагрузку. Для такого у меня используется отдельный clibootstrap и cliController, в который можно только из консоли )
    Ответ написан
    Комментировать
  • Как делать INSERT по кнопке?

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

    Хинт: инпут вида
    <input type='text' name='username[]' value='somename'>
    вставленный многократно, на стороне сервера будет интерпретирован как массив, который можно перебрать и получить весь список из ваших 100 строк. Если форма методом post, то соответственно на сервере будет $_POST['username'][0] = 'somename';
    Ответ написан
  • Как обойти тест google "PageSpeed Insights"?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов 2: (код не пишу - описываю принцип)
    1) Аяксом - при клике на некий элемент вызывается запрос к экшену удаления изображения, в параметрах передаете ид объекта изображения(вы же в отдельной таблице храните картинки и связываете их по парент_ид с записью, надеюсь?). Создаете объект image по id, вызываете метод удаления. На фронте получаете ответ сервера в аякс коллбэк, при успешном удалении выпиливаете из ДОМ картинку и элементы управления к ней.
    Плюс решения - быстро и без перезагрузки.
    Минус - иногда удаляют картинку случайно, в данном случае(в отличие от варианта 2) откат невозможен.
    2) В хидден поле пишете айдишники удаляемых картинок по клику на иконку удаления(и соответственно выпиливаете картинку из ДОМ), по субмиту на сервере проверяете поле, вытаскиваете из него айдишники картинок, далее циклом как в варианте 1.
    Плюс решения - до субмита формы реального удаления файлов не будет. То есть все можно откатить просто сделав рефреш страницы.
    Минус - ... для удаления нужно сделать субмит, это не всегда удобно если вы просто хотите удалить пару картинок из записи. Выглядит менее юзерфрендли.
    Ответ написан
    1 комментарий
  • Как обратиться к объекту класса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в общем случае никак, нужно передать объект(читай ссылку) $data1 в метод класса 2.
    типа такого:
    $data1  = new Class1();
    $data2 = new Class2()
    $data2->funct1($data1);
    Ответ написан
    Комментировать
  • Какой стек технологий лучше использовать?

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

    Многие считают, что jquery сегодня устаревшая технология, так ли это?
    нет

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Какой php-фреймворк посоветуете изучить новичку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) CI, Laravel - низкий порог, простая архитектура, однако располагает к "небрежному" и "неклассическому" коду.
    Yii, Symphony, Zend - сложнее, хорошо структурированы, достаточно "чистый" код, более строгий подход к коду и архитектуре.

    Нужно быстро стартануть и устроиться - учите 1(лучше ларавель, свежее и популярнее), хотите роста и сложных задач вкупе с привычкой к качеству кода выше среднего - выбирайте из 2.
    Ответ написан
    Комментировать