Ответы пользователя по тегу MySQL
  • Как поставить условие перед inner join?

    dimastik1986
    @dimastik1986
    учусь
    is not null
    или
    is null
    или
    if
    или
    case
    или
    coalesce
    Ответ написан
    Комментировать
  • Как хранить такие данные в бд?

    dimastik1986
    @dimastik1986
    учусь
    зависимости смотрели?

    табл наименований - главная
    (тут же основная цена за ед изм)

    и доп
    таблица длины,
    таблица цвета и тд,
    (в них же наценка за ед изм)

    и таблица заказа,
    где собираете id всех выбранных позиций
    Ответ написан
    Комментировать
  • Как организовать поиск по нескольким столбцам?

    dimastik1986
    @dimastik1986 Автор вопроса
    учусь
    итогом решение - функция последовательного поиска
    Ответ написан
    Комментировать
  • Как лучше исполнить алгоритм подбора строительных материалов?

    dimastik1986
    @dimastik1986
    учусь
    работать однозначно удобнее с mysql, вот только зачем все завязывать на excel и для чего этот велосипед с цветом ячеек? А хранить составленные сметы вы где собираетесь а как потом работать с уже составленными сметами?

    я бы сделал так:
    • табл mysql
      • id
      • группа услуги
      • наименование услуги
      • ед.измерения
      • объем
      • необходимые материалы json массив
      • стоимость за ед.измерения
      с материалами и видами работ и их стоимостью
    • табл mysql
      • id
      • Контрагент
      • массив в json со списком всех сохраненных услуг в заказе
        • id услуги
        • название услуги
        • стоимость услуги -да, сюда дублируем стоимость услуги, для того, чтобы в случае изменения ее в базе, закрытые сметы оставались с теми суммами, которые вы получили по факту. Это пригодится в случае построения отчетов
        • объем услуги
        • ед. измерения

      • стоимость работ
      • дата составления
      • запланированная дата начала работ
      • запланированная дата окончания работ
      с сохраненными расчетами

    сделал бы фронт-енд на js, чтобы по первым введенным буквам в форму добавления услуги производился поиск по названию и вывод информации, добавление дополнительной услуги к заказу - тоже интерактивно через Js

    на бек повесил бы обработчики на php, оптимизировал бы это дело для мобильных платформ, получится что прораб сможет в полях поднять смету или составить новую.

    ну и данный можно легко редактировать + куча потенциально возможного функционала, например: уведомления на почту, можно прикрутить и смс о подходящих датах, можно сделать отправку сметы на почту в виде xml или pdf файла, календарь запланированных работ. Подсчет дохода за выбранный период времени или выборка по контрагенту.

    могу набросать за 2-3 дня рабочий вариант, а то чет поиздержался, а нг на носу )
    Ответ написан
  • Как в БД изменить значение 0 или 1 через checkbox, без обновления?

    dimastik1986
    @dimastik1986
    учусь
    да все просто...
    нужно просто разделить код на 2 части
    1. стр со списком чекбоксов
      <form>
      <input type="checkbox" class="Todo" name="DoSomething[]" value="Задача 1">Задача 1 <Br>
      <input type="checkbox" class="Todo" name="DoSomething[]" value="Задача 2">Задача 2 <Br>
      <input type="checkbox" class="Todo" name="DoSomething[]" value="Задача 3">Задача 3 <Br> 
      <input type="checkbox" class="Todo" name="DoSomething[]" value="Задача 4">Задача 4 <Br> 
      <input type="checkbox" class="Todo" name="DoSomething[]" value="Задача 5">Задача 5 
      </form>

      теперь это надо отправить на обработчик, примерно так
      <script type="text/javascript">
      $(document).ready(function() { 
          $('.Todo').on('click', function(){
              $.post('https://ссылка на обработчик',   
              $(".Todo").serialize(), 
              function(msg) { 
                  $('#answer').html(msg);
              });  
          return false; 
          });  
      });
      </script>

      - можно отправлять не массив, а каждый чекбокс отдельно, как удобно

      - на страницу с чекбоксами можно вернуть информацию от обработчика, она попадет в блок <div id="answer"></div>
      например все это дело можно оформить как всплывающий блок, накрутить немного анимации. Блок будет отображать результат обработки (удачно, нет или другая информация). Сделать это весьма просто, я думаю разберетесь на основе примеров: animate.css, position, появление и иcчезновение элементов

    2. стр обработчика
      - получаем массив, например так
      $POST['DoSomething'] = filter_input(INPUT_POST, 'DoSomething', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);

      далее обрабатывайте как вам надо.
    Ответ написан
    Комментировать
  • Функция обработки большого текста для записи в БД?

    dimastik1986
    @dimastik1986 Автор вопроса
    учусь
    В большинстве случаев достаточно использовать PDO с подготовленными запросами - они все необходимое экранирование делают самостоятельно (c) rjhdby
    Ответ написан
    Комментировать
  • Как убрать пробелы в ссылках по всему сайту?

    dimastik1986
    @dimastik1986
    учусь
    я вижу два варианта:
    1. прогнать url через функцию перед выводом на стр, которая уберет пробелы
    2. или прогнать всю базу через эту функцию
    Ответ написан