За последние 24 часа нас посетили 18544 программиста и 1670 роботов. Сейчас ищет 891 программист ...

Помогите с формулой

Тема в разделе "Прочие вопросы по PHP", создана пользователем writer, 21 авг 2012.

  1. writer

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

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1.      $summa = (($kol2['cenakabel'] + $kol2['cenamkamer'] + $kol2['cenamkaber'] + $kol2['cenadopoborud'] + $kol2['cenacity'])/100)*$proc;
    2.         $summaall =$kol2['cenakabel'] + $kol2['cenamkamer'] + $kol2['cenamkaber'] + $kol2['cenadopoborud'] + $kol2['cenacity'];
    3.         if ($summaall < 30000) {
    4.     echo $proc=5;
    5. } elseif ($summaall < 50000) {
    6.     echo $proc=6;
    7. } else {
    8.     echo $proc=7;
    9. }
    $kol2['cenakabel'] - данные из таблицы
    вывожу из таблицы данные в договор.
    нужно чтобы сумма менялась.
    строчка с вставкой переменной
    Код (Text):
    1. 3.2. Стоимость услуг составляет '.$summa.' рублей и оплачивается единоразово не позднее '.$kol2['dataold'].' года. </br>
    выводит 0 рублей.
    надо что если сумма меньше 30000 , то сумма 5% от этой суммы.
    больше 30000 меньше 60 000 то 6%. как реализовать. как сделать чтобы каккая то переменная принимала значения в зависимости от суммы?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    =D
    Ну ты сам-то посмотри - ты же сперва пытаешься посчитать сумму, а потом только считаешь процент. Однако при расчёте суммы - умножаешь там что-то на этот самый процент :)
    Естественно, на момент расчёта суммы при таком подходе, переменная $proc ещё не определена и PHP подставляет вместо неё null ("ничто"), который при умножении преобразуется в 0 (число ноль).

    Добавлено спустя 34 секунды:
    Сперва посчитай $proc, а уже потом $summa
     
  3. writer

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

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    так это ладно. у меня даже одну строчку не считает почему то
    Код (Text):
    1. $summaall = ($kol2['cenakabel']) + ($kol2['cenamkamer']) + ($kol2['cenamkabel']) + ($kol2['cenadopoborud']) + ($kol2['cenacity']);
    и со скобками и без них и в одну общую и всяко пробовал хотя должно нормально складывать...ниче не складывает числа.
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А ты напиши
    Код (PHP):
    1. var_dump($kol2); 
    и посмотри, что там в переменной.

    Добавлено спустя 46 секунд:
    Естественно, напиши это после того, как эта переменная определяется в коде. )))
     
  5. writer

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

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    bool(false)

    Код (Text):
    1. $kol = mysql_num_rows($soo);
    2.     for ($i=0; $i <= 0; $i++) {
    3.         $kol2 = mysql_fetch_assoc($soo);
    4.        var_dump($kol2);
    Добавлено спустя 7 минут 2 секунды:
    заработало. счетчик неверно написал.
    Код (Text):
    1.  $soo = mysql_query("SELECT * FROM tender WHERE id = '$id'");
    2.     $kol = mysql_num_rows($soo);
    3.     for ($i=1; $i <= $kol; $i++) {
    4.         $kol2 = mysql_fetch_assoc($soo);
    а было
    Код (Text):
    1.  $soo = mysql_query("SELECT * FROM tender WHERE forid = '$id'");
    2.     $kol = mysql_num_rows($soo);
    3.     for ($i=1; $i <= $kol; $i++) {
    4.         $kol2 = mysql_fetch_assoc($soo);