За последние 24 часа нас посетил 60671 программист и 1743 робота. Сейчас ищут 907 программистов ...

Сумма выделенных CheckBox

Тема в разделе "PHP для новичков", создана пользователем McLotos, 28 мар 2011.

  1. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    Есть таблица, которая заполняется запросом
    PHP:
    1. $query="select t.* from calls t left outer join users u on t.phone_number=u.phone_number where u.id='$id' ORDER BY t.recipient";
    2.  $result=mysql_query($query);
    3.  if($result)
    4.  {                                  
    5.        $o=array($tcalls);
    6.        while($myrow = mysql_fetch_array($result))
    7.        {
    8.              $o[]="<tr  bordercolor=white bgcolor=white>";                  
    9.              $o[]="<td bgcolor=70FF8A>{$myrow['phone_number']}</td>";
    10.              $o[]="<td>{$myrow['date_of_call']}</td>";
    11.              $o[]="<td>{$myrow['time_of_call']}</td>";
    12.              $o[]="<td>{$myrow['duration']}</td>";
    13.              $o[]="<td>{$myrow['recipient']}</td>";
    14.              $o[]="<td>{$myrow['description']}</td>";
    15.              $o[]="<td align=right>{$myrow['connection_type']}</td>";
    16.              $o[]="<td align=center>{$myrow['volume']}</td>";
    17.              $o[]="<td>{$myrow['rouming']}</td>";
    18.              $o[]="<td bgcolor=#FF3700 align=right>{$myrow['cost']}</td>";
    19.              $o[]="<td><input type=\"checkbox\" name=\"$id.calls\" /></td>";
    20.              $o[]="</tr>";
    21.        }
    22.        $o[]="</table>";
    как сделать так чтобы считалась сумма значений полей Cost отмеченных строк? и чтобы эта сумма записывалась в какую-нибудь переменную, для каждого пользователя?!
     
  2. engager

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

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    ну объяви перед циклом какую-нить переменную, проинициализируй ее нулем, затем суммируй на каждой итерации свое значение. после выхода из цикла будет тебе сумма в той переменной.
     
  3. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    Не совсем понял. У меня все данные берутся из сессий, каждому пользователю выводится своя страница. Как я патом буду просматривать результаты по всем пользователям?
    По логике у каждого уюзера должна быть своя уникальная переменная, в которую всё это сохраняется.
     
  4. engager

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

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    так ты про какие отмеченные строки то говоришь?
    эта таблица показывается пользователю, он там тыкает чекбоксы, нажимает сабмит, ему считается сумма чтоли?
    подробнее то напиши, чай не телепаты.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $o[]="<td><input type=\"checkbox\" name=\"$id.calls\" /></td>";
    заменить на
    $o[]="<td><input type=\"checkbox\" name=\"calls[$id]\" /></td>";

    присланные id собрать и сделать запрос в бд и получишь сумму. неотмеченные чекбоксы не пришлются.
     
  6. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    Я пробовал и такой вариант, но мне нужно чтобы у меня выводилась таблица со всеми пользователями и в ней показывалась инфа по каждому пользователю. Каки звонки отметил, на какую сумму звонил, какая сумма отмеченных звонков, какая сумма звонков в роуминг и т.д.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    и? чем тебе мой вариант не подошел? id есть, можно залезть в БД и построить твою таблицу. Сама за тебя она не построится.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не знаю что тебе сказать. id у тебя есть, это все что нужно, чтобы ответить НА ЛЮБЫЕ твои запросы к бд.