• Как осуществить проверку по дате в MYSQL?

    @alexalexes
    не больше двух раз в неделю

    Формулировка требует некоторых уточнений.
    Если лимит определен на календарную неделю, и счет обращений сбрасывается в понедельник, то нужен такой запрос проверки:
    select count(*) as cnt -- кол-во записей на этой неделе
    from record as r
    where r.user_id = ? -- пользователь
      -- дата текущего понедельника (от curdate()) <= r.add_date < дата следующего понедельника (от curdate())   
      and r.add_date >= subdate(curdate(), interval weekday(curdate()) day) -- текущ. понедельник с точки зрения curdate()
      and r.add_date < subdate(curdate(), interval weekday(curdate()) - 7 day) -- следующий понедельник с точки зрения curdate()

    Если лимит определен просто на интервал 7 дней, то такой запрос:
    select count(*) as cnt -- кол-во записей за последние 7 дней
    from record as r
    where r.user_id = ? -- пользователь
      and r.add_date > subdate(curdate(), interval 7 day)
    Ответ написан
    5 комментариев
  • Почему в моем коде заменяется только одно значение, а не все?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    public function htmlStyles ($html) {
        $add = "";
        foreach ($this->_styles as $tag => $style) {
            $add .= "{$tag} \{{$style}\}\n";
        }
        return str_replace("</head>", "\n<style type='text/css'>\n{$add}</style>\n</head>", $html);
    }
    Ответ написан
    Комментировать
  • Почему в моем коде заменяется только одно значение, а не все?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Заменяя </head> вы как минимум уже получаете невалидный html
    Сделать можно так, при условии что у вас в $html есть </style> внутрь которого вы и хотите свои стили дописать
    foreach ($this->_styles as $tag => $style) {
        $styles = $tag . '{' .$style. '}'."\n";
        $html = str_replace('</style>', $styles.'</style>', $html);
    }
    Ответ написан
    Комментировать