Перейти к содержимому


Одинаковые значения


Сообщений в теме: 44

#21 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 10 Июнь 2015 - 12:59

Прописал как вы указали, где доп.дейстия, ни то чтобы суммировать одинаковых полей и записать в одну строку, а обнуляет!!!
Т.е. я не достиг желаемого!

#22 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 10 Июнь 2015 - 13:27

Мне необходимо при нажатии доп. действия суммировал значении M1, M2, M3 и вместе одинаковых "Индекс","Наименование" прописал в одну строку, Спасибо!

#23 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Июнь 2015 - 14:10

А вы куда собственно хотите вывести то эти данные? Доп.действие тут явно не в тему, если вы запускали его в той же таблице, где считаете суммы, то немудрено что у вас таблица затерлась, вы же сами записали в коде обновление полей. Для вывода статистических данных логичнее писать отчет.

#24 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 11 Июнь 2015 - 12:34

Наверное, я Вас достал со своими вопросами, сильно извиняюсь.
Нет, мне не нужно статических отчетов, при нажатии доп. действий отображался в одной строке в подтаблице просуммировав М1, М2,М3, если есть в основной таблице одинаковых полей "Наименование", "Индекс", если нет то, просто скопировать.

#25 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Июнь 2015 - 14:00

Там вам необходимо просуммировать данные из подтаблицы и вывести их в основной записи, что ли? Из ваших слов не совсем понял. Попробуйте скриншоты приложить.

#26 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 11 Июнь 2015 - 14:27

Есть основная таблица с данными, которые имеются несколько одинаковые значения столбцов "Наименование", "Индекс" и разные числовые М1, М2,М3, теперь мне нужно вывести в подтаблицу просуммировав М1,М2,М3 в одну строку.

#27 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Июнь 2015 - 14:21

А доп.действие то где запускается? В этой основной таблице? В подтаблице доп.действие запустить нельзя, там нет кнопок. Все таки возвращаюсь к просьбе выложить скриншоты для понимания ситуации.

#28 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 07:44

Есть таблица таб1 необходимо вывести сводную таблицу на другой таблице например на таб2, предварительно выбрав, если есть одинаковые значение полей индекс,наименование, вид и просуммировать M7,M8,M9,M10.M11,M12.Как,цена.

#29 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 07:46

Есть таблица таб1 необходимо вывести сводную таблицу на другой таблице например на таб2, предварительно выбрав, если есть одинаковые значение полей индекс,наименование, вид и просуммировать M7,M8,M9,M10.M11,M12.Как,цена.

Прикрепленные изображения

  • Прикрепленное изображение: taб1.JPG
  • Прикрепленное изображение: таб2.JPG


#30 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июнь 2015 - 11:35

Т.е. доп.действие запускается в таблице 2, которая играет роль сводной? А что она из себя представляет? Там уже заполнены группы в виде Наименований и Индексов, остается только суммы подсчитать? Или таблица изначально пуста? Если второе, то эта задача не решается доп.действиями, если первое - то код надо переделать слегка. Сейчас он считает суммы сразу по всем группам, а выдает только первую (которая может быть вообще пустой). А необходимо считать суммы отдельно для каждой группы. Вы меня запутали нечеткой постановкой задачи, необходимо сразу давать подробные сведения о всех исходных данных, если хотите быстрого ответа.

$sqlQuery = "SELECT SUM(f1233) as m1, SUM(f1234) as m2, SUM(f1235) as m3 FROM ".DATA_TABLE."111 WHERE f1230='".$line['f111']."'";
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
$line['M1'] = $row['m1'];
$line['M2'] = $row['m2'];
$line['M3'] = $row['m3'];

Здесь поле f111 в таб.2 должно быть таким же как f1230 в таб.1 (я не знаю, это Индекс у вас или Наименование)

#31 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 11:43

Доп. действие запускается в таб2, которая играет роль сводной. Она изначально пуста.

#32 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июнь 2015 - 11:50

Тогда,

Цитата

эта задача не решается доп.действиями

Доп.действия априори работают только с имеющимися записями.

#33 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 12:10

Но, на Вашем примере под доп. действием переносится записи на другую таблицу?!!

#34 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 12:12

global $base64_current_url;

$insertTableID = 79; // Номер таблицы счета-фактуры
$positionTableId = 74; // Номер таблицы позиций счета
$newPositionTableId = 80; // Номер таблицы позиций счета-фактуры

// выбираем из счет фактуры записи, которые ссылаются на данный счет
$result = data_select($insertTableID, "status='0' AND f852=", $ID);
$row = sql_fetch_assoc($result);
// если по данному счету есть запись счета-фактуры, то выводим предупреждение и переходим в запись
if ($row) {
echo "<script>
if (confirm('Счет-фактура по данному счету уже сформирована. Перейти в счет-фактуру?'))
location.href='",$config["site_root"],"/view_line.php?table=",$insertTableID,"&line=",$row['id'],"&back_url=",$base64_current_url,"'
</script>";
}
// если записи не нашлись, то формируем счет фактуру
else
{
// объявляем массив, в который записываем по названию полей счета-фактуры, значения полей из счета
$newLine = array();
$newLine['f852'] = $line['ID'];
$newLine['f855'] = $line['На кого']['raw'];
$newLine['f859'] = $line['Оплачено'];
$newLine['f861'] = $line['Наша компания']['raw'];
$newLine['f2630'] = $line['Номер п/п'];
$newLine['f2640'] = $line['Дата п/п'];
$newLine['f2910'] = $line['Расход']['raw'];
$newLine['f2920'] = $line['Статус расхода'];

// последний номер счета фактуры
$result = data_select_field($insertTableID, "MAX(f853) as max","status=0");
$row = sql_fetch_assoc($result);
$newLine['f853'] = ++$row['max'];

// вставляем массив с данными в таблицу счета фактуры, создается запись и функция возвращает id новой записи счета-фактуры
$inserted_id = data_insert($insertTableID, EVENTS_ENABLE, $newLine);

#35 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 13:27

Извините, вот, что должны получить в от таб1 сводную таблицу таб2.Прикрепленное изображение: таб1.JPGПрикрепленное изображение: таб2.JPG

#36 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июнь 2015 - 14:37

Просмотр сообщенияryskeldi (15 Июнь 2015 - 12:10) писал:

Но, на Вашем примере под доп. действием переносится записи на другую таблицу?!!

В другую таблицу. А вы хотите добавить через доп.действие записи в текущую таблицу. Это невозможно. Более, того, у вас в коде идет обновление записей (которых нет) через $line, а не добавление новых.

#37 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 14:39

Нет, конечно, вот именно в другую.

#38 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июнь 2015 - 14:44

Так вы сами написали, что доп.действие у вас запускается в сводной таблице 2, которую и необходимо заполнить. Где тут другая таблица? Для доп.действия эта таблица является текущей.

#39 ryskeldi

    Активный участник

  • Пользователи
  • PipPipPip
  • 30 сообщений

Отправлено 15 Июнь 2015 - 14:46

Нет, доп. действие будет запускаться в таб1.

#40 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Июнь 2015 - 14:49

Тогда зачем вводите в заблуждение? :wacko: Выше вы написали совсем иное. В этом случае код вообще некорректный полностью.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных