Задать вопрос
  • Какой стек использовать для вот такого проектика?

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

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

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

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

    Короче, или опишите в чем проблема (и при чем тут аякс, кстати, тоже), или описывайте что и на чем написано и как решали, что не получилось?
    Ответ написан
    Комментировать
  • Отправка с формы в 2 столбца?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    так вот, как видно в таблице столбец approved имеет уникальное значение.
    не видно, кроме того вы не совсем верно понимаете значение параметра "уникальное".
    1. Возможные варианты 0 или 1
    enum и задать значения.
    2. Значение 1 может быть только в 1 строке
    имхо проще сделать запрос на выборку where approved = 1 и уже если выборка не пустая смотреть что там у вас по логике должно быть.

    PS: что то пониже спины подсказывает мне что задача которую вы таким образом пытаетесь решить создаст вам еще больше проблем. Где то при проектировании у вас жопа ошибка, попробуйте решить как-то иначе, или спросите тут ка сделать.
    Ответ написан
  • Как создать правильный запрос к Mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Плохая идея.
    В таблице в хаотичном порядке размещены записи,

    Подозреваю что некий порядок там есть, однако не понимаю причины по которой он вас не устраивает. Id не является полем для сортировки, кроме случаев, когда надо восстановить порядок добавления. Если нужно какое-то поле для сортировки отличное от даты (хотя нафига? есть дата, по ней отлично сортируется), добавьте поле order, и мучайте его. Лично я не вижу смысла в ваших манипуляциях, окромя нежелания вникнуть в понимание как работают запросы.
    Ответ написан
    Комментировать
  • Как привязать выбор города к выбранной стране?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Как делается выборка? Или "я его поставил и запустил, оно не работает"?
    Ответ написан
  • Переписать скрипт в ajax?

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

    PS: ок, под тег убрали, отлично, зачем первый кусок оставили? Он работает? Где пояснения что не работает?
    Ответ написан
    Комментировать
  • (PDO) Ошибка при подключении к MySQL?

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

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

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Как без потери качества сжать...
    А в чем фото? Если в JPEG то никак, любая перепаковка ухудшает качество.
    Если надо просто пережатьс минимальными потерями - вариантов куча, вплоть до фотошопа. Напримtр FastStone Image Viewer.
    Ответ написан
  • Бекенд, как перенести сайт на ноутбук?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вот, например, надо сделать простейшую фотогалерею.
    На вашем примере, что бы было понятно на пальцах, заранее прошу прощения у присутствующих за примитивизм. В данном случае у вас будет коллекция объектов, которая тоже объект, это как массивы, если примитизировать понятия до упора, одни могут быть вложены в другие. Делаете допустим так:
    $image= new Image(); //создаем пустой объект имаж, чтобы иметь его настройки(таблица, поля...)
    $gallery = new Collection ($image); //создаем новую коллекцию объектов типа имаж, пока пустую.
    $gallery->getCollectionByField(array("galleryid"=>"64")); // инициализируем из базы, используя
    // ид галереи, теперь в гэлери одной строчкой мы загрузили все картинки в свойство (например),
    // $gallery->collection  и можем к ним обращаться как к элементам массива, и в свойстве
    // $gallery->collection[1] будет объект типа $image. Как вариант реализации.

    Куча кода остается в объекте, для вас это "черный ящик", видны только входы и выходы, все что внутри скрыто, но работает как надо, т.к. разбито на методы и отлажено по кусочкам.

    Что касается статики - как говорится в любом нормальном источнике - статики нужно избегать по максимуму, на это есть несколько причин:
    - статика загружает оперативку, т.е. статические объекты создаются всегда, не зависимо от необходимости их использования
    - статика плохо поддается тестированию, не всегда, но часто, т.к. глобальная область видимости приносит проблемы пересечения зон ответственности методов, часто это нарушает SOLID, особенно если тыкать статику везде. Почитайте, посмотрите как должен выглядеть нормальный код в объектах - вам понравится.

    ps:
    ваш код - почему бы не писать так:
    $post=BLOG::getPost($айди_поста);
    // меняем 
    $post = new Post($айди_поста);
    
    echo $post['content'];
    // меняем 
    echo $post->content; // не обязательно так, может вот так:
    echo $post->getContent(); // тогда при выводе можно будет сделать какую-то предварительную обработку, 
    //заменить тэги, еще что-то...
    
    $comments=BLOG::getComments($айди_поста);
    // меняем
    $comments = new Comments($post);
    echo $comments->getTree(); // хотя тут скорее всего от вьюшки зависит, я бы тут возвращал не 
    // строку, а массив для итератора, это правильнее для разделения на мвц, мухи отдельно - 
    // котлеты отдельно, в смысле код и хтмл.
    Ответ написан
    Комментировать
  • Как сделать правильную обработку формы в данном случае?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Слушайте, ну уже пхп7 вышел, уже пхп4 10 лет как не актуален, НУ ОТКУДА ВЕСЬ ЭТОТ МУСОР ИЗ 90х??? Неужто так сложно прочитать про ооп и мвц, ну пусть мвц не сразу, но хоть понятие объектов, вы же такой говнокод небось еще и в рабочем проекте использовать будете? Вам же нужно как-то потом людям в глаза смотреть! Не стыдно?
    Ответ написан
    2 комментария
  • Как экспортировать данные с сайта в текстовый файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Есть ли PHP-библиотека для поиска в JSON с помощью SQL-запросов?

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

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    SELECT * FROM (
      SELECT * 
      FROM posts 
      WHERE updated < offset
      ORDER BY updated DESC
     ) AS `table` 
    WHERE type = 1
    LIMIT 10


    или так, кажется, пусть меня поправит кто нть если косяк увидит, пишу по памяти

    SELECT * FROM post AS p1
    INNER JOIN
         (SELECT *
         FROM post
         WHERE updated < offset
         ORDER BY updated DESC
         ) as p2
    ON p1.id = p2.id
    WHERE p2.type = 1
    Ответ написан