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


Суммирование буквенных значений


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

#1 Sergey

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

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

Отправлено 26 Ноябрь 2010 - 07:53

Суть проблемы есть таблица

справочник по дополнительному оборудованию (подчиненная)
код оборудования | наименование | стоимость |
PX1 | би-ксенон |58800 руб.|

ну и т.д.

и есть таблица новые автомобили в которой есть поле комплектация (родительская)

необходимо в поле комплектация собрать все значения из поля код оборудования

Я понимаю что это можно сделать по аналогии с:

В таблицу Контрагенты необходимо в отдельное поле выводить сумму всех оплат клиента.

В поле Сумма оплат заносим следущий код:

$data = data_table("Реквзиты","`Организация`={ID}");// Из таблицы Реквизиты строку, поле организация в которой равно ID текущей записи (ID записи в таблице контрагенты)

$sqlQuery = "SELECT sum(f454) as summa FROM ".DATA_TABLE."43 WHERE status=0 AND f839='".$data['id']."'"; // Считаем сумму поля 454("Сумма") из таблицы счета, при условии, что запись активна, т.е. находится не в архиве и не в корзине(status=0), а также поле 839 (На кого) равно id записи из таблицы Реквизиты
$result3 = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
$row3 = mysql_fetch_array($result3);
return $row3['summa']; //Возвращаем сумму оплат.

но есть одно но в моём случае суммируются не числа а слова.

#2 jazvenko

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

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

Отправлено 26 Ноябрь 2010 - 08:14

$data = data_table("справочник по дополнительному оборудованию","`код оборудования`={ID}")
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";

Както так

#3 Sergey

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

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

Отправлено 26 Ноябрь 2010 - 08:56

Просмотр сообщенияjazvenko (26.11.2010, 8:14) писал:

$data = data_table("справочник по дополнительному оборудованию","`код оборудования`={ID}")
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";

Както так

Нет это как то не так в этом примере мы берем значения из поля код оборудования и заносим 3 раза одно и тоже значение в переменную txt.

а мне надо взять разные значения из определённого столбца таблицы просуммировать их и подставить в одну ячейку

#4 jazvenko

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

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

Отправлено 26 Ноябрь 2010 - 10:17

Просмотр сообщенияSergey (26.11.2010, 8:56) писал:

Нет это как то не так в этом примере мы берем значения из поля код оборудования и заносим 3 раза одно и тоже значение в переменную txt.

а мне надо взять разные значения из определённого столбца таблицы просуммировать их и подставить в одну ячейку

$query = "SELECT столбец1, столбец2 FROM ".DATA_TABLE."43 WHERE тут условия ваши";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
    $a . = $row['столбец1'];
    $b . = $row['столбец2'];
}


#5 Sergey

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

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

Отправлено 29 Ноябрь 2010 - 14:04

$data = data_table("Новые автомобили","`Ком номер`={ID}");

$sqlQuery = "SELECT f988 FROM ".DATA_TABLE."80 WHERE status=0 AND f870='".$data['id']."'";
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
while ($row = mysql_fetch_row($result))
{
return $row["2"];
}

Вычисление ошибок не выдаёт но в ячейку результат не подставляет.

#6 Sergey

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

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

Отправлено 29 Ноябрь 2010 - 14:12

$data = data_table("Новые автомобили","`Ком номер`={ID}");

$sqlQuery = "SELECT f988 FROM ".DATA_TABLE."80 WHERE status=0 AND f870='".$data['id']."'";
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
while ($row = mysql_fetch_row($result))
{
echo $row["2"];
}

Так тоже не работает

#7 jazvenko

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

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

Отправлено 30 Ноябрь 2010 - 10:21

Просмотр сообщенияSergey (29.11.2010, 14:04) писал:

$data = data_table("Новые автомобили","`Ком номер`={ID}");

$sqlQuery = "SELECT f988 FROM ".DATA_TABLE."80 WHERE status=0 AND f870='".$data['id']."'";
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
while ($row = mysql_fetch_row($result))
{
return $row["2"];
}

Вычисление ошибок не выдаёт но в ячейку результат не подставляет.
Правильно у Вас в массиве $row нет поля 2. Вы выбираете одно поле SELECT f988, в массиве есть только f988.
Попробуйте так return $row['f988']; но в вашем примере он выведет только последнее строку.

Попробуйте вот так:
$sqlQuery = "SELECT f988 FROM ".DATA_TABLE."80 WHERE status=0 AND f870='".$data['id']."'"; 
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
while ($row = mysql_fetch_row($result)) 
{
$res . = $row['f988'];
}
return $res;


#8 Sergey

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

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

Отправлено 26 Январь 2011 - 13:29

Просмотр сообщенияjazvenko (30.11.2010, 10:21) писал:

Правильно у Вас в массиве $row нет поля 2. Вы выбираете одно поле SELECT f988, в массиве есть только f988.
Попробуйте так return $row['f988']; но в вашем примере он выведет только последнее строку.

Попробуйте вот так:
$sqlQuery = "SELECT f988 FROM ".DATA_TABLE."80 WHERE status=0 AND f870='".$data['id']."'"; 
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
while ($row = mysql_fetch_row($result)) 
{
$res . = $row['f988'];
}
return $res;

не работает выдаёт ошибку:

Parse error: syntax error, unexpected '=' in C:\Program Files\MSTL\���������� ����\www\include\functions1.php(61) : eval()'d code on line 5

Parse error: syntax error, unexpected '=' in C:\Program Files\MSTL\���������� ����\www\include\functions1.php(61) : eval()'d code on line 5

Parse error: syntax error, unexpected '=' in C:\Program Files\MSTL\���������� ����\www\include\functions1.php(246) : eval()'d code on line 5

#9 CbCoder

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

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

Отправлено 26 Январь 2011 - 17:57

Уберите пробел между точкой и знаком равно. Это синтаксическая ошибка.





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

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