За последние 24 часа нас посетили 18870 программистов и 1685 роботов. Сейчас ищут 850 программистов ...

Умножение элементов столбца

Тема в разделе "MySQL", создана пользователем AloKvadro, 13 фев 2010.

  1. AloKvadro

    AloKvadro Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    24
    Симпатии:
    0
    Приветствую всех!
    Есть столбцы god и ochki в таблице raiting, в столбце очки находятся числа с плавающей точкой, в столбце год - год :).

    Необходимо сделать так, что бы за один раз обработчик умножил все очки у тех команд, у которых год = 2009.

    Пытаюсь сделать это таким образом:

    PHP:
    1.  
    2.  <?php
    3.                     $tekdate = date("Y");
    4. mysql_query("SET NAMES cp1251");
    5. mysql_query('set charset cp1251');
    6.                     $result = mysql_query("SELECT * FROM raiting",$db);
    7.                     if (!$result)
    8. {
    9. echo "Код ошибки:</strong>";
    10. }
    11.  
    12. if (mysql_num_rows($result) > 0)
    13.  
    14. {
    15. $myrow = mysql_fetch_array($result);
    16. $raznica = $tekdate-$myrow['god'];
    17. $sgod = $tekdate-$raznica;
    18. do
    19. {
    20. if($raznica == 1)
    21. {
    22. $new_ochki = $myrow['ochki']*'0.75';
    23. $update = mysql_query ("UPDATE raiting SET ochki='$new_ochki' WHERE god='$sgod'",$db);
    24. }
    25.  
    26. }
    27. while ($myrow = mysql_fetch_array($result));
    28. }
    29. else
    30. {
    31. echo "Записей нету";
    32. exit();
    33. }
    34.                    
    35.                    
    36.                    
    37.                     ?>
    38.  
    Но это не работает :( Странно, но все очки, после этого кода, становятся одинакового значения.
    Помогите пожалуйста решить проблему. Заранее Благодарю.
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Умножай прямо в запросе, не в PHP
    [sql]SET ochki = ochki * 0.75 WHERE god = ?[/sql]
     
  3. AloKvadro

    AloKvadro Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    24
    Симпатии:
    0
    Запрос вида:
    [sql]UPDATE raiting SET ochki = ochki * 0.75 WHERE god='$sgod'[/sql]

    Записывает какой-то непонятный бред в виде 6.68967e-06 и в таком духе, вместо чисел 0_о.
     
  4. AloKvadro

    AloKvadro Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    24
    Симпатии:
    0
    Все, разобрался, спасибо большое, все работает :)