• Как правильно выгружать большой объем данных?

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

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Я понимаю что "задача такова и решаем как можем", но в идеале нужно разнести такие значения в отдельную таблицу с отношением многие ко многим, ибо like не самая быстрая команда, даже в выражении like ...%, про like %..% вообще молчу. А так - сплошные извращения наподобие `numbers` like %2% and `numbers` like %3% и так до конца, я молчу о проблемах с числами более 9, где надо определить 12 или 1,2.
    Ответ написан
    Комментировать
  • Как принять данные методом POST на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так как у вас проверять неправильно.
    <?php
    if($_SERVER["REQUEST_METHOD"]=="POST"]){
            print_r($_POST);
            if (!empty($_POST["name"]) && !empty($_POST["email"])){
                 doSomeMagic($_POST);
            }    
            else {
                 echo "Поля name или email не заполнены!";
            }
    }
    else {
         echo "Метод передачи данных не является POST-запросом!";
    }
    ?>

    Если у вас проходит до проверки и выдает пустой массив - то где то явно не хватает нехилого куска кода. Иначе до принт_р не дошло бы и выдавало бы "Поля name или email не заполнены!".
    Ответ написан
    4 комментария
  • Почему не работает ajax?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Не мешайте чистый жаваскрипт с жквери. Вы еще не так круты в программировании чтобы так изголяться.
    2) Скорее всего жквери не подключен, либо $ не переопределен для короткого алиаса. Попробуйте $.ajax => jQuery.ajax
    Ответ написан
    Комментировать
  • Как решить данную задачу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов много, 2 очевидных -
    1)
    пользователь может создать заказ, использовать промо-код, но оплату не произвести. При этом использование (счетчик -1) засчитывается.
    . Пользователь сам себе злой буратина, предупреждать о "зависших" транзакциях с промо тикетами, смотрите в гугле тему "конверсия брошенных корзин".
    2) Не снимать промо до оплаты, но тут возникает другая проблема - если человек проводит одновременно несколько оплат - промо на счету остаются, и можно начать процедуру оплаты по промо неограниченного количества товаров, решается только дополнительным полем, в которое пишется количество открытых транзакций на промо покупку. Если лимит транзакций достигнут, а счетчик промокодов еще не 0, выдавать предупреждение типа "Возможно у вас исчерпан лимит на промо, проверьте все ли товары купленные по промо оплачены и подтверждены." При отмене покупки - возвращать +1 к промо.
    Ответ написан
  • (php+mysql) Как сделать масовые update данных в таблице?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Транзакции, пачками по 300-500-1000, надо подбирать лучшее значение перебором, другого вроде ничего не придумали пока. И что за апдейты которые на 200к занимают час? Нормальный запрос выполняется 0,001 сек, на 1000 уйдет секунда, значит на 60к нужно минуту времени. 150к максимум 3 минуты. Возможно что с базой что-то не так, проверьте скорость работы update, сделайте explain, посмотрите какие индексы нужно добавить.
    Ответ написан
    1 комментарий
  • Как обезопасить данные класса?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    А чего вы ожидаете? False будет в случае неудачного запроса, у вас же запрос прошел нормально, вернуло 0 строк. Учитесь читать расшифровки, думайте головой.
    Ответ написан
    Комментировать
  • Вопрос про статические функции в php, как избавиться от Strict Standards: Non-static method?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Каша. В основном в голове. Не понимаете как работает наследование, не понимаете как работают классы. Ошибку вам четко указали, просто вы не знаете основ.
    Я знаю, как расшифровывается Non-static method и понимаю, что функция идёт не статичной, как её хочет видеть сам php.
    . PHP не хочет ее видеть статичной, просто указывает что вы ее статичной не сделали, а обращаетесь как к статик.
    хочу вызвать класс oldClass, которая наследуется от controllerClass и функцию view, дабы уже вызвать $this->_message (как пример), уже из обновлённого controllerClass

    1) Классы не вызываются, вызываются методы класса.
    2) То что он наследуется от какого-то класса не делает его автоматически видимым внутри родительского класса, это ВООБЩЕ ДРУГОЙ КЛАСС теперь, никак не связанный с родителем, просто имеющий некоторые одинаковые методы и свойства. Чтобы вызвать его метод, сначала нужно создать объект - экземпляр нужного класса.
    Ответ написан
    Комментировать
  • Как удобно работать с языковыми файлами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Зачем хранить в файлах? Вам отключили бд на хостинге? Пишите в таблицу со структурой
    id | langid | alias | text |, при загрузке выбирайте только тот язык который нужен, и логика нормальная и выборки разные интересные можно делать, и админку прикрутить легко, чтобы рулить налету новыми фразами.
    Ответ написан
  • Почему возникает ошибка Call to undefined function при наследовании классов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если somefunction1() у вас относится к НАСЛЕДНИКУ то неплохо бы создать экземпляр класса В, а затем уже обращаться к его методам, т.к. А не в курсе что вы там нафигачили в В. Если это метод из А, и(не вижу в этом куске) находится внутри какого-то метода(что логично, где ему еще быть) ), то обращение к нему будет через $this->somefunction1(), если метод не статический.
    Ответ написан
    Комментировать
  • Как правильно написать Controller для блога на MVC PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если для обучения...
    1) Автолоад в контроллере? За что? Хочешь пользоваться автолоадом - выведи в какой-то базовый бутстрап что-ли. Вообще сегодня уже неймспейсы можно юзать, говорят удобно и модно )
    2) Акшн и контроллер нужно бы проверить на наличие левых символов. Например регулярными выражениями.
    3) В идеале все возможные/допустимые роуты должны быть описаны, обычно в отдельном объекте route. Там же и прописываются правила для расшифровки, что(например алиас статьи в $routs[2]) и какое (например альфанумерик) значение лежит в путях. Он и передается в конструктор роутера. По этому он обычно не статик. Хотя тут у кого как реализовано.
    4) Есть ненулевая вероятность существования переменных в урл ДО контроллера, например языковой префикс: www.mysite.com/ru/someaction/somecontroller
    Ответ написан
    Комментировать
  • Какая фриланс работа с наименьшим порогом вхождения?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    phpMyAdmin позволяет задать разделители и переносы / окончания строк вручную
    Ответ написан
    Комментировать
  • Что делать если Sending Data занимает 99% времени запроса?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    IS NULL неиндексируемый запрос, вся проблема в нем. По этому время работы выборки будет одинаковым для любого количества строк, т.к. перебор идет "в лоб", и до конца таблицы. Думайте как обойти, в идеале заменить на индексируемое поле, например int.
    Ответ написан
    Комментировать
  • Товар по разным ценам, как действовать?

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

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

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) etsy.com
    2) канал на ютубе, как у этого парня например
    3) здесь публиковать пины с етси
    4) Свой сайт тоже в тему будет.

    попробуйте вбить в гугл trollsky knife - чувак пиарится как может, и с этого есть нехилый выхлоп. От собственного сайта до реддита и блогпоста. В ход идет все.
    Ответ написан
    Комментировать