• Как сделать чтобы у каждого цикла был свой рейтинг правильно написать ajax запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Используйте нормальные переменные, и вам легче будет и другим читать без матюков станет возможным. Ну что за название переменных ya, as? summa и reiting тоже доставляют, неужели лень посмотреть как это по английски пишется? Двойная польза - и язык учите и чтаемость повышаете же.
    2) Не понятна проблема, как вам указали в комментарии - это параметр у вас уже есть в первоначальной выборке, зачем вы его тащите аяксом - загадка.
    3) function film(){...} - те же ошибки - во первых что за название? Что делает эта функция? Фильм? Вы что, из принципа экономите буквы? Нельзя нормально написать function getMovieRate(movieId){...}?
    4) В большинстве случаев надо пользоваться "чистыми" функциями, то есть(упрощенно) функция не должна менять окружение, она должна принимать параметры и возвращать результат. У вас же она что-то мутит с элементами не принимая никаких параметров...

    Это все конечно лирика, и я подозреваю что у вас задача какая-то другая нежели просто вывести рейтинг, но вы ее описали крайне непонятно. Попробуйте прочесть свой вопрос и сформировать внятные требования - что есть, что работает, что не работает(или что работает не так) и что в итоге надо получить.
    Ответ написан
    Комментировать
  • Простой 3д редактор для планировки интерьера/квартиры, в идеале бесплатный?

    ThunderCat
    @ThunderCat Автор вопроса
    {PHP, MySql, HTML, JS, CSS} developer
    Итак, долго ли коротко... Были просмотрены почти все перечисленные в топике редакторы, некоторые отсеяны на этапе демо/превью, некоторые попробованы, но не подошли по некоторым причинам, в итоге в финал вышли, как не странно, Скетчап(ниже поясню) и Pro100.

    В целом удобнее и привычнее вышло в про100, за один вечер я накидал 2 планировки - старую(текущую) и новую(задуманную). Вышло быстро, достаточно просто и гибко, размер любого объекта можно задать из свойств, много готовых объектов уже было в библиотеке.
    Плюсы:
    1) Простая, близка по духу к 3д максу, очень интуитивно работается
    2) Все можно изменить на лету и в миллиметрах
    3) Если объект куда-то двигаешь и он не влазит - он просто не идет в место где места нет, например в простенок 40 см нельзя впихнуть шкаф 40,1 см. Если надо именно "впихнуть невпихуемое" - нажимаем шифт и оно едет куда скажешь, при этом подсвечивает поверхности которые "не вошли" в габариты. То же касается трансформации объектов - они тянутся ровно до границ свободного пространства, что весьма удобно.
    4) есть готовые образцы штукатурки/обоев/плитки, и их МНОГО. Как и мебели.
    5) несколько очень удобных режимов отображения, например с полупрозрачностью объектов(этакий x-ray).
    6) Готовый вид с чертежным выносом размеров.

    Недостатки:
    1) Нет возможности подвигать раскладку плитки и подобрать вариант подрезки/раскладки, точнее можно, но это возня и муторно, несколько объектов, стыковка, куры-гуси... можно создать поверхность побольше и подвигать ее, но опять же это не удобно.
    2) Не имеет вариантов с прокладкой кабелей/строб/труб, в принципе сейчас это не нужно, но имхо это недостаток редактора.
    3) Рендер "красивое 3д" - это не про него, качество рендера на троечку. Опять же - мне подошло, бо я примерно знаю как что будет выглядеть, после 4 то пережитых ремонтов )
    4) Нет возможности экспорта в какие-либо другие форматы, разве что в картинку.
    Если что-то упустил - спрашивайте/поправляйте в комментах.

    Теперь про скетч...
    Я начну с минусов, так как они больше мне бросились в глаза и доставили много анальной боли, а затем перейду к анастезии и плюшкам...
    Недостатки:
    1) Скетч не умеет задавать размеры УЖЕ СОЗДАННЫМ объектам. Точка.
    2) Задать их при создании можно, но это отдельный гемор, надо вводить руками в нижней консоли через точку с запятой размеры в формате "250 mm; 200 mm;" и отдельно при экструдинге то же для высоты, и не дай вам бог шевельнуть в процессе мышкой, все размеры сразу улетают на йух.
    3) Объекты при создании липнут к другим объектам намертво, при перемещении вырывая куски друг из друга. Что бы этого не происходило нужно сильно заморочиться - создавать объекты и помещать их в отдельные слои или выделять в отдельный компонент, короче это обходится, но по умолчанию все липнет аки пластелин.
    4) Оооочень неудобная система с отдельными инструментами выбора/движения/панаромирования/трансформации, то есть в максе и прочих подобных(включая про100) это реализовано буквально 1 инструментом, здесь же: тыкаешь что тебе надо, потом переключаешься на перемещение, потом на трансформацию, потом на инструмент движения сцены... Бррр...

    Были еще какие-то нервирующие моменты, но меня хватило на минут 30 поиграться...
    После того как проект был создан в про100, товарищ по работе (дизайнер) все же решил поглубже копнуть в скетч (ибо миллионы мух не могут ошибаться!), и руководствуясь и воодушевляясь какими-то уроками на ютубе, все же выстроил примитивный домик в 2 этажа без мебели и отделки часа за 2(на самом деле просто бетонную коробку с дырками вместо окон и дверей разделенную на 2 этажа, но меня и на это не хватило). По результатам делюсь что хорошего в скетче, и "как его готовить", итак
    Плюсы:
    1) Бесплатный в базовой версии, которая умеет практически все необходимое, платная (1 доллар емнип) позволяет еще и прогуляться в построенном здании используя кардборд и VR представление.
    2) Для построения хитрых деталей можно использовать крутые шейперы/экструдеры и прочее
    3) Для трансформации нельзя использовать цифры с размерами, НО! можно понатыкать направляющих и опираясь на них трансформировать объекты от линии до линии, что в принципе приемлемо.
    4) В основу можно положить плоский чертеж, и обведя его получить экструдингом вполне готовый контур здания/объекта.
    5) Народ без "ментального легаси" а-ля 3д макс и иже с ним вполне возможно быстрее и проще освоится именно со скетчем. Уроков по нему много, и народ в нем рисует буквально все, от кукольных домиков для мультиков, до мотоциклов и самолетов.
    6) Экспорт в кучу разных форматов.

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

    Всем спасибо!
    Ответ написан
    Комментировать
  • Что не так со скриптом, если PHP всё время получает 0 от БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще то магия вне Хогвардса запрещена, по этому ищите материальные причины:
    1) Проверьте что попадает в запрос, просто выведите строку в ехо:
    echo "SELECT `id` FROM `users` WHERE `name` = '$fullname' AND `password` = '$password'";

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

    PS: логин с паролем в куках - это сильно )
    Ответ написан
    Комментировать
  • Jquery как заставить работать событие по нажатию на копку?

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

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

    Почему так происходит и как этого можно избежать?

    - Доктор, я когда вот здесь нажимаю - больно!
    - Не нажимайте здесь.
    Ответ написан
    Комментировать
  • Как исправить ошибку синтаксиса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Каждая строка пхп заканчивается ;
    И где тут про капчу?
    Ответ написан
    Комментировать
  • Что влияет на скорость загрузки редакторов сайта?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Если речь идет об открытии в браузере -
    открываете панель разработчика, идете в нетворк, смотрите что грузится медленно, думаете...
    Идете в перформанс, запускаете, смотрите, думаете...
    Профит.
    Ответ написан
    Комментировать
  • Как в PHP работает видимость класса, на моём примере?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в этом же шаблоне (index.phtml) я могу написать например $test = new Home; var_dump($test); и это работает.

    Так как вью у вас инклудит в себя шаблон для рендера, все что находится в шаблоне будет восприниматься как контекст вью, соответственно все что можно делать из вью можно и из шаблона(но не нужно).
    Ответ написан
    Комментировать
  • Массово заменить ссылки локально?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Например: долгое выполнение определенного MySQL запроса (например - иногда бывает ).

    log_slow_queries   = /path/to/log/mysql-slow.log
    long_query_time         = 1 #время в секундах

    после того как вы увидите что у вас реально что-то тормозит, можно что-то реально поправлять. Например прогнать медленные запросы через explain.

    Относительно частые запросы cron к БД - раз в 4 секунды.
    м? что? Относительно частые запросы - 50 в секунду и выше. Конечно на Васином бложике на хостинге за 3 бакса в год это может считаться частыми запросами, но, судя по таблицам по 8Г, у вас проект немножко серьезнее...

    Например: пользователь вызвал скрипт, который долго выполняет MySQL запрос.
    В то же время cron тоже выполняет MySQL запрос. В то же время происходит что то ещё.
    Космические корабли бороздят просторы Большого театра?
    Если скрипт не блокирующий(не запись массива строк) то эти процессы не будут друг другу мешать. И даже в таком случае все настраивается - смотрите разницу в типах таблиц и приоритеты на запись/чтение.

    Имеет ли смысл создавать несколько баз?

    нет.
    Ответ написан
    Комментировать
  • Как отобразить иконки fontawesome в документе созданном с помощью DomPDF?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Не использовать DomPDF?
    hint - headless chrome pdf export.
    Ответ написан
    Комментировать
  • В каких случаях лучше создать клон объекта вместо работы с оригиналом?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидно в случае когда надо получить набор разных объектов с одинаковой стартовой схемой, например когда есть 10 разных слайдеров(упрощенно) и объект базовой инициализации с основными параметрами. Для недублирования 10 раз этого объекта - создаем клон и меняем 1-2 параметра.
    Ответ написан
    1 комментарий
  • Мульти-загрузчик изображений не AJAX. Готовая библиотека?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как реализовать роутинг PHP MVC?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Роутинг это (в общем случае) сопоставление пути с контроллером/экшном, как это реализовать зависит от конкретной ситуации, или берется что-то готовое(благо их много). Как самый простой вариант - массив вида "/some/path"=>['controller','action']; В более сложном случае разбивают на компоненты по слэшам и используют правила на основе регулярок, где все не указывающие на контроллер / экшн элементы считаются дополнительными параметрами и обрабатываются логикой экшна.
    Ответ написан
    Комментировать
  • Как передать набор переменных в функцию?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) массив
    2) оператор ... или func_get_args()
    3) stdClass или заранее определенный класс
    для двух последних можно и тайпхинтинг указать
    Ответ написан
    Комментировать
  • Как создать аналог Flash приложения на HTML, CSS, JS?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    канвас + жс все это умеет. Тыц.
    Ответ написан
    Комментировать
  • Как исключить из промежутка дат?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    WHERE (`date_start`  >= '2019-03-01 14:40') 
     AND (`date_end`  <= '2019-03-01 18:45')


    UPD:
    итак, для начала - стандартный формат хранения datetime - Y-m-d H:i:s , то есть у вас СРАЗУ все не правильно будет работать.
    далее, если вы используете запрос в таком виде как у меня описано - все работает.
    Что бы перевести ваши кривые даты в нормальные для запроса либо пишите что-то типа
    $startDate = date('Y-m-d H:i:s',strtotime('01.03.2019 15:40:00');
    , либо вынесите это в хелпер или функцию.
    Ответ написан
  • Как указать POST запрос в From при отправке письма в PHP?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть для загрузки
    есть для ресайза
    Это ДВЕ НЕСВЯЗАННЫЕ ЗАДАЧИ, соответственно решать их надо последовательно.

    А то я погуглил и ничего толкового не увидел

    "Вы не любите кошек? Вы их просто готовить не умеете!"
    Ответ написан
    Комментировать
  • Может кто нибудь обьяснить что ознаюает это регулярное выражение?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    https://regex101.com/r/8yw0hp/6
    хорошо объясняет регулярки и соответственно неплохо тестит )
    Ответ написан
    Комментировать