За последние 24 часа нас посетили 70363 программиста и 10303 робота. Сейчас ищут 3106 программистов ...

Изменить значение строки в базе по фильтру

Тема в разделе "PHP для новичков", создана пользователем Smoholl, 6 май 2016.

  1. Smoholl

    Smoholl Новичок

    С нами с:
    20 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Добрый вечер.

    Имеется база, две таблицы - managers и objects.

    PHP:
    1. $query = $pdo->query("SELECT managers.id AS user_id, managers.advdomcount AS dom_limit, count(objects.id) AS dom_count
    2.                      FROM managers
    3.                      INNER JOIN objects
    4.                      ON objects.managerid = managers.id
    5.                      WHERE objects.advdom72 = 1
    6.                      GROUP BY managers.id");
    7.  
    8. $domArray = $query->fetchAll(PDO::FETCH_ASSOC);
    9.  
    10. //print_r($domArray);
    11.  
    12. foreach($domArray as $manager) {
    13.     if ($manager['dom_limit'] < $manager['dom_count']) {
    14.         $del = $manager['dom_count'] - $manager['dom_limit'];
    15.         echo $manager['user_id'].' - '.$del.'<br />';
    16.         }
    17. }
    Код выводит ид тех managers, у которых dom_count > dom_limit с этой самой разницей. Необходимо у полученных id рандомно получить привязанные к ним строки objects в количестве, равном разнице dom_count и dom_limit и изменить в них значение objects.advdom72 на 0.

    Подскажите пожалуйста, как это можно сделать?