За последние 24 часа нас посетили 18666 программистов и 1599 роботов. Сейчас ищут 974 программиста ...

Помогите (суммирование данных столбца )

Тема в разделе "PHP для новичков", создана пользователем Andre23, 17 июн 2014.

  1. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    как суммировать все значения в столбце
    к примеру вот столбец summa
    summa
    2
    4
    6
    8
    10
    и что бы рядом выводилась сумма всего столбца
    Итог - 20
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Что за столбец такой в PHP? В БД?
     
  3. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    в php, но вывод идет из mysql
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    В MySQL всего один запрос
    Код (Text):
    1. SELECT SUM(summa) FROM mytable;
    где mytable - таблица, из которой берёшь данные.
     
  5. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    а в php как вывести ?
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Сначала покажи, как у тебя "вывод идет из mysql". Можно ведь по-разному подключаться, с помощью mysql_* или mysqli_* функций, в объектном или процедурном стиле.
     
  7. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    http://clip2net.com/s/ikCeba
    вот, вроде бы правильно

    Добавлено спустя 54 минуты 7 секунд:
    /* Создаем соединение */
    mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");

    /* Выбираем базу данных. Если произойдет ошибка - вывести ее */
    mysql_select_db($dbName) or die (mysql_error());

    /* Составляем запрос для извлечения данных из полей "name", "email", "theme",
    "message", "data" таблицы "test_table" */
    $query = "SELECT numee, prenumee, patronimicc,first_name, last_name, email,nume, facebook,procent,telfix,prenumee,summa,deniprocenta,dolg,straf,summastrafa,denistrafa,zilnic,penalitatea FROM $table";
    $summa = "SELECT SUM(first_name) FROM $table";
    /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
    $res = mysql_query($query) or die(mysql_error());

    ну и сам цикл не посредственно

    while ($row = mysql_fetch_array($res))
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Вот у тебя запрос есть
    Код (Text):
    1. "SELECT numee, prenumee, patronimicc,first_name, last_name, email,nume,facebook,procent,telfix,prenumee,summa,deniprocenta,dolg,straf,summastrafa,denistrafa,zilnic,penalitatea FROM $table"
    Можешь в него же добавить SUM(summa) AS allsumm
    Код (Text):
    1. "SELECT numee,prenumee,patronimicc,first_name,last_name,email,nume,facebook,procent,telfix,prenumee,summa,SUM(summa) AS allsumm,deniprocenta,dolg,straf,summastrafa,denistrafa,zilnic,penalitatea FROM $table"
    Тогда можно достать так $row['allsumm'] внутри цикла while.
    Если же записей очень много, то лучше отдельным запросом сделать.
     
  9. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0

    а отдельной как ?

    Добавлено спустя 1 минуту 5 секунд:
    он мне выводит только одну строку а не все
     
  10. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    кто, что выводит, скрипт, какой?
    Код (PHP):
    1. $result = mysql_query("SELECT SUM(summa) FROM $table");
    2. echo mysql_result($result, 0);// <-- вот тут результат   
     
  11. shalx

    shalx Новичок

    С нами с:
    15 фев 2014
    Сообщения:
    110
    Симпатии:
    0
    Если эти цифры на форме то нужно загнать их в переменную и дальше как обычно
     
  12. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    а если я хочу что бы выводилась сумма нескольких столбцев ?
     
  13. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Можешь и тут суммировать
    Код (Text):
    1. while ($row = mysql_fetch_array($res))
    раз уже достал данные и по всем проходишь циклом.
     
  14. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    он мне выводит только одно поле из таблички, а во втором примере который ты дал
    Код (Text):
    1. SUM(first_name)
    все работает, только вот как мне 3-4 столца посчитать ?
     
  15. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ты так спрашиваешь, что нет возможности сразу ответить. Пиши сразу имена столбцов. Пиши, как посчитать, средствами БД или в твоём цикле.
     
  16. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    в моем цикле, имена столбев к примеру
    procent,summastrafa
     
  17. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Код (PHP):
    1. $sumArr = array('procent'=>0, 'summastrafa'=>0);
    2. while ($row = mysql_fetch_array($res)){
    3.   $sumArr['procent'] += $row['procent'];
    4.   $sumArr['summastrafa'] += $row['summastrafa'];
    5. }
    6. echo 'procent: ', $sumArr['procent'], ', summastrafa: ', $sumArr['summastrafa'];
     
  18. Andre23

    Andre23 Новичок

    С нами с:
    26 май 2014
    Сообщения:
    43
    Симпатии:
    0
    спасибо, работает, а реально сделать так что бы еще и в базу данных это заносилось ? по дате, ну тоесть каждый день, что бы в базу вносилась дата, и значение