1
Суммирование буквенных значений
Автор Sergey, 26 нояб. 2010 07:53
Сообщений в теме: 8
#1
Отправлено 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']; //Возвращаем сумму оплат.
но есть одно но в моём случае суммируются не числа а слова.
справочник по дополнительному оборудованию (подчиненная)
код оборудования | наименование | стоимость |
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
Отправлено 26 Ноябрь 2010 - 08:14
$data = data_table("справочник по дополнительному оборудованию","`код оборудования`={ID}")
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";
Както так
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";
Както так
#3
Отправлено 26 Ноябрь 2010 - 08:56
jazvenko (26.11.2010, 8:14) писал:
$data = data_table("справочник по дополнительному оборудованию","`код оборудования`={ID}")
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";
Както так
$txt = "".$data[""]." | ".$data[""]." | ".$data[""]."";
Както так
Нет это как то не так в этом примере мы берем значения из поля код оборудования и заносим 3 раза одно и тоже значение в переменную txt.
а мне надо взять разные значения из определённого столбца таблицы просуммировать их и подставить в одну ячейку
#4
Отправлено 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
Отправлено 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"];
}
Вычисление ошибок не выдаёт но в ячейку результат не подставляет.
$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
Отправлено 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"];
}
Так тоже не работает
$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
Отправлено 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"];
}
Вычисление ошибок не выдаёт но в ячейку результат не подставляет.
$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"];
}
Вычисление ошибок не выдаёт но в ячейку результат не подставляет.
Попробуйте так 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
Отправлено 26 Январь 2011 - 13:29
jazvenko (30.11.2010, 10:21) писал:
Правильно у Вас в массиве $row нет поля 2. Вы выбираете одно поле SELECT f988, в массиве есть только f988.
Попробуйте так return $row['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
Отправлено 26 Январь 2011 - 17:57
Уберите пробел между точкой и знаком равно. Это синтаксическая ошибка.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных