За последние 24 часа нас посетили 27976 программистов и 1815 роботов. Сейчас ищет 1151 программист ...

Помогите организовать запрос

Тема в разделе "MySQL", создана пользователем web-master, 26 янв 2015.

  1. web-master

    web-master Новичок

    С нами с:
    23 ноя 2014
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Кубань
    Есть таблица в которой хранятся последние изменения по сотрудникам: id сотрудника, в каком цехе работает, на какой должности. Т.е. когда у сотрудника происходят изменения в например цехе или должности, или все сразу, данные должны записываться в эту таблицу. Сейчас это делаю таким запросом
    Код (Text):
    1.  
    2.   $query_max=DB::run()->queryFetch("SELECT @max:=MAX(`id_write`) FROM `placement` WHERE `id_people`='".$people_id['id_people']."' AND `department`='".$department_id['id_department']."' AND `post`='".$post_id['id_post']."'");
    3.   $query_placement=DB::run()->querySingle("SELECT * FROM `placement` WHERE `id_write`=@max AND `id_people`='".$people_id['id_people']."' AND `department`='".$department_id['id_department']."' AND `post`='".$post_id['id_post']."'");
    4.     if($query_placement==0)
    5.     {
    6.     DB::run()->query("INSERT INTO `placement` SET
    7.     `id_people`='".$people_id['id_people']."',
    8.     `department`='".$department_id['id_department']."',
    9.     `post`='".$post_id['id_post']."',
    10.     `date`='".time()."'");
    11.     }
    Если сотрудник перевелся на новую должность, запрос работает, но может быть такое что он возвращается опять на старое место, тогда запрос не отрабатывает, так как условие не выполняется.
    Надеюсь понятно объяснил. Как можно подправить этот запрос?
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну так поменяй условие :) что мешает то?
     
  3. web-master

    web-master Новичок

    С нами с:
    23 ноя 2014
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Кубань
    В том то и дело что уже не знаю как по другому его сделать
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    если код чужой, то сделай так, перед
    Код (Text):
    1. if($query_placement==0)
    сделай его вардамп, и смотри чему равен он равен, перед тем когда работник возвращается обратно... смекаешь?