• Как сгруппировать строки по каждой дате, которой нет в записях?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Вот пример того, что вы хотите.

    Алгоритм такой же как описал Максим. По другому можно с юнионами, но там границы месяца будут не точные.

    -- Генерируем временную таблицу с датами для примера
    CREATE TEMPORARY TABLE temp_t (tdate DATE);
    INSERT INTO temp_t (tdate) VALUES ('2015-09-02');
    INSERT INTO temp_t (tdate) VALUES ('2015-09-02');
    INSERT INTO temp_t (tdate) VALUES ('2015-09-05');
    INSERT INTO temp_t (tdate) VALUES ('2015-09-05');
    INSERT INTO temp_t (tdate) VALUES ('2015-09-07');
    
    -- Пишим процедуру генерации дней. На вход идет дата и по ней генерируется таблица с 1 по последний день месяца этой даты
    DROP PROCEDURE IF EXISTS buildMonthTable;
    DELIMITER $$
    CREATE PROCEDURE buildMonthTable(IN indate DATE)
    BEGIN
    DECLARE lastday DATE DEFAULT LAST_DAY(indate);
    DECLARE startday DATE DEFAULT DATE_ADD(indate, INTERVAL - DAYOFMONTH(indate) +1 DAY);
    DROP TABLE IF EXISTS temp_month_days;
    CREATE TEMPORARY TABLE temp_month_days (mday DATE);
    WHILE (lastday >= startday) DO
       INSERT INTO temp_month_days VALUES (startday);
       SET startday = DATE(DATE_ADD(startday, INTERVAL +1 DAY));
     END WHILE;
     END$$
    DELIMITER;
    
    -- Вызываем процедуру для генерации таблицы для текущего месяца
    CALL buildMonthTable(CURDATE())
    
    -- Соединяем две таблицы и группируем по датам
    SELECT tm.mday, COUNT(tt.tdate) AS COUNT FROM temp_month_days AS tm
    LEFT JOIN temp_t tt ON tm.mday = tt.tdate
    GROUP BY tm.mday


    PS: такая генерация почему-то занимает некоторое время. Хотя, вроде, небольшая табличка.
    Ответ написан
  • Как в одном sql запросе вытянуть продукцию и ее общее количество?

    @heartdevil
    плыву как воздушный шарик
    Привет

    Как я понял, у вас общее количество одно для всех продуктов с color = green. Поэтому смысла нет его тянуть в этом же запросе. Тяните его другим запросом.

    SELECT  COUNT(prd.id) AS cnt FROM products AS prd WHERE prd.color = green.
    Ответ написан
  • Дублируется тег title в коде страницы?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Посмотрите тут и тут
    Ответ написан
    Комментировать
  • Как правильно составить SQl запрос для восстановление данных?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Для начала еще раз сделайте бэкап бэкапа всех включенных в запрос таблиц)), чтобы если что, я не виноват.

    А потом попробуйте вот такой запрос:

    UPDATE woodfun.toys_users AS w, ghujgu.toys_users AS g
    SET
    w.email = g.email,
    w.name1 = g.name1,
    w.name2 = g.name2,
    и так далее
    w.discount = g.discount
    WHERE w.id = g.id


    Возможно какие-то поля придется брать в кавычки, вообщем, вам надо будет помудрить с этим запросом.
    Ответ написан
    4 комментария
  • Как составить регулярное выражение?

    @heartdevil
    плыву как воздушный шарик
    Привет

    Вот так попробуйте
    setlocale(LC_ALL, "ru_RU.UTF-8");
     preg_match_all("|\bАГЕНТСТВА\b|uim", "Квартира от АГЕНТСТВА", $matches);


    Вместо word поставьте ваше слово.
    Ответ написан
  • Как создать класс, инициализирующий неопределённое количество элементов массива в своём поле?

    @heartdevil
    плыву как воздушный шарик
    Привет.

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

    Вот тут почитайте.

    Если нет, то опишите задачу подробнее. Тогда получите более точное решение

    Прочитать про get и set
    Ответ написан
    Комментировать
  • Что значит этот код(получение даты, датапикер)?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Насколько понял.
    Работает так:

    8. Объявляется вечный цикл с шагом 10.
    9. У даты своего дня рождения мы устанавливаем новый год рождения, который увеличивается с каждой итерацией на 10 лет.
    10. теперь от текущей даты мы сначала отнимаем измененную выше дату рождения (увеличенную на 10 лет) и потом всю эту шнягу делим на 86400000 мс (сколько миллисекунд в одном дне), получив разницу в днях.
    11. Сравниваем полученную разницу с нулем. Если больше, тогда выводим какой юбилей и сколько дней до него. Затем выходим из цикла. Иначе возвращаемся повторяем цикл.
    Ответ написан
    6 комментариев
  • Какие разделы английского стоит выучить для фриланса?

    @heartdevil
    плыву как воздушный шарик
    Учите сугубо ИТ английский.

    Открою секрет.

    Сидите часто на stackoverflow и читайте самые популярные вопросы и ответы от крутых разработчиков (владеющих отличным английским). Там легко понять уровень английского по ответам и вопросам. Это поможет не только "вариться" в своей среде, но и "вариться" по-английски. Запоминайте структуру сложных вопросов. И как они вообще подготавливаются. Далее смотрите, как на них отвечают. Зачастую, всегда просят описать задачу. Что, собственно, на самом деле и происходит на фрилансе. Далее, просят уточнить некоторые моменты. Затем постят свои решения с описаниями. Тут тоже нужно уделить внимание на подготовку ответа. Часто, конечно, это просто код)), но вам никто не запрещает, к примеру, спросить уточнения (не для понимания кода или алгоритма, а для понимания того, как разработчик будет разжевывать вам ответ на английском ;-)), если самолюбие позволяет)). Можете даже выписывать отдельные словосочетания, которые они применяют. К примеру, создал массив, присвоил значения переменной, пробежался циклом по массиву, создал класс, имплементировал интерфейс, перегрузил чего-то там и так далее.

    В таком ритме быстро научитесь понимать вопросы на английском и умело отвечать, но все это письменно. Разговорный вам может понадобиться, если клиент будет часто по скайпу вам названивать. Его освоить в разы сложнее. Поэтому можете честно заявлять клиенту, что уровень пока у вас не позволяет вести разговор. А там все от клиента будет зависеть.
    Ответ написан
    3 комментария
  • Где есть нормальный regex для валидации телефонов?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Лучше используйте плагин для внедрения маски.

    Можно вот это. Или другое загуглить.

    Тогда у вас в поле при наведении будет отображаться маска типа:

    (___) ___-____

    И заполняться все цифры будут строго по маске.

    Либо можно просто разделить тремя текстовыми полями заполнение телефона, ограничив только вводом цифр.
    Ответ написан
    Комментировать
  • Как усвоить preg_match?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Старая добрая википедия содержит хорошее описание.

    Попробуйте прорешать кроссворд. Натренируетесь читать несложные регулярки.
    Ответ написан
    Комментировать
  • Почему не отправляется форма?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Если это wordpress, то вам лучше использовать стандартный способ обработки форм.
    Action формы должен быть на admin-post.php. Плюс надо добавить скрытое поле и nounce для безопасности формы.
    Почитайте про nounce https://codex.wordpress.org/WordPress_Nonces

    Вот так выглядит примерное создание формы

    <form name="loginForm" id="loginForm" action="<?php echo esc_url(get_admin_url() . 'admin-post.php') ?>" method="post">
    	<input type="hidden" name="action" value="login-form" />
    	<?php wp_nonce_field('process_login_form_action','login_form_sec_field'); ?>


    Далее в файле functions.php

    Вы пишите обработчик этой формы.

    add_action('admin_post_submit-form', 'process_mail_form_action'); // для залогинненых пользователей
    add_action('admin_post_nopriv_submit-form', 'process_mail_form_action'); // для незалогинненых пользователей один и тот же обработчик
    function process_mail_form_action()
    {
    // тут читаете из $_POST
    }


    Не забывайте обрабатывать nouce поле в коде.
    Ответ написан
    Комментировать
  • Нужно чтоб при вводе неправильного пароля, кидало на предыдущую страницу (wordpress), как сделать?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Вот этот обработчик добавьте в файл functions.php

    add_action( 'wp_login_failed', 'custom_redirect_login_fail' );  // hook failed login
    function custom_redirect_login_fail( $username ) {
         $referrer = $_SERVER['HTTP_REFERER'];  // where did the post submission come from?
         // if there's a valid referrer, and it's not the default log-in screen
         if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
              wp_redirect(home_url() . '/?login=failed' );  // let's append some information (login=failed) to the URL for the theme to use
              exit;
         }
    }


    В wp_redirect можете подставить любой url с параметрами, как на примере.
    Ответ написан
    Комментировать
  • Как организовать структуру базы данных для динамических характеристик?

    @heartdevil
    плыву как воздушный шарик
    В таблице characteristics сделайте конкретно три поля, вместо type

    Id (int)
    name (varchar)
    string_option (varchar)
    number_option (int/float/decimal)
    bool_option (boolean)
    prefix (varchar)
    suffix(varchar)

    И храните выборочно значения для каждого поля
    Ответ написан
  • Как правильно составить запрос mySql?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Вот так попробуйте

    SELECT out.pole1 AS pole1, out.pole2 AS pole2 FROM 
    (SELECT * FROM table ORDER BY id DESC) AS out
    WHERE condition
    GROUP BY out.pole1, out.pole2
    Ответ написан
  • Table в html/css?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    1) Можете использовать вложенные таблицы. Те блоки, которые надо выделить, сделайте внутренними таблицами одной внешней таблицы. Тогда у вас будет контроль над отдельными частями.

    2)Можете попробовать использовать селектор :nth-child(n)
    Но вам придется разграничить отдельные tr и td в таблице, присвоив им id, чтобы упрявлять выделением отдельных блоков таблицы.

    3) Самый долгий и муторный -- это присвоить уникальные id для всех tr (и для некоторых td) которые вы хотите выделять в таблице. Тогда у вас будут идентификаторы доступа к которым вы сможете задать стили.
    Ответ написан
  • Как сделать расчёт цены товара на js???

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Используйте change событие у текстового поля.

    $("#inputtextid").change(function(){
        alert("The text has been changed.");
    });

    1) Читаете цену (где она у вас хранится) и переводите в число (parseInt).
    2) В событии change у текстового поля количества товара читаете введенное число и тоже переводите в число.
    3) Умножаете оба числа).
    4) Выводите в заголовке.

    Если хотите точнее, приведите ваш html код.
    Ответ написан
    1 комментарий
  • Как получить данные за прошлую неделю, месяц, и т.д в mysql?

    @heartdevil
    плыву как воздушный шарик
    Привет.

    Вот так можно вычислить периоды

    В неделю:

    SELECT CURDATE() - INTERVAL CASE WHEN DAYOFWEEK(CURDATE()) = 1 THEN 13 ELSE DAYOFWEEK(CURDATE()) + 5 END DAY -- start of the previous week
    SELECT CURDATE() - INTERVAL CASE WHEN DAYOFWEEK(CURDATE()) = 1 THEN 6 ELSE DAYOFWEEK(CURDATE()) - 1 END DAY -- end of the previous week


    В месяц

    SELECT DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY) -- end of the previous month
    
    SELECT DATE_ADD(DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY), INTERVAL - DAYOFMONTH(DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY)) + 1 DAY) -- start of the previous month
    Ответ написан
    Комментировать
  • Как сказать по-русски слово yield???

    @heartdevil
    плыву как воздушный шарик
    Думаю, еще можно как -- итерировать перевести.
    Ответ написан
  • Wordpress. Глобальный фильтр вывода контента сайта по таксономии?

    @heartdevil
    плыву как воздушный шарик
    Привет.

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

    @heartdevil
    плыву как воздушный шарик
    Привет идея везде одинакова.

    У текущего термина есть поле parent. В цикле вы постоянно проверяете, не пустой ли parent. Если нет, то текущей нодой делаете parent. Так вы постепенно всплывете на самый верх к root-вому термину.
    Ответ написан