Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: stix от 12 Декабря 2012, 17:34:03



Название: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: stix от 12 Декабря 2012, 17:34:03
Получится ли дернуть SQL запросом сумму доп услуги для пользователя?

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


Название: Re: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: stix от 13 Декабря 2012, 01:56:33
и всегда хотел спросить, а зачем было хранить услуги в таком виде?
в качестве эксперимента на ускорение работы процессора?

просто получается, что парсить в любом случае нужно сумму услуг, или еще что-то (на php)
довольно геморно


Название: Re: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: Efendy от 13 Декабря 2012, 10:11:21
старому нодени в обед сто лет. Не поверишь,  были времена, когда сервера были по производительности как сейчас смартфоны) Мускул был слаб, памяти мало и все такое. Приходилось в первую очередь думать о производительности. Оттуда и айпишники в таблице юзерс и услуги и т.д. Оттуда и пошла такая кривая, но на тот момент это не было таким важным, архитектура. Из-за сохранения совместимости, не получилось как-то корренным образом ее изменить. Меня недавно Валик приколол - обратился клиент и назвал версию Нодени, которая  у него работает много лет. Так я такую даже у себя в многолетних архивах не обнаружил)


Название: Re: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: stix от 13 Декабря 2012, 10:53:12
я так и подумал )

тут как раз правило, не тронь, рабочую систему, вот потому многие не то что на N+ не перейдут, а даже на 50.33, потому как все работает.

Код:
<?php
$srvs_array 
= array(
 
'6' => '225',
 
'11' => '125',
 
'3' => '50',
 
'7' => '220',
 
'9' => '150',
 
'12' => '100',
 
'2' => '75',
 
'8' => '17.5',
 
'1' => '25',
 
'4' => '35',
 
'10' => '15',
 
'5' => '25',
);

$srvs=getSrvs($id)

for (
$x=0$x<32$x++)
{
if (((
$srvs >> $x) & 1) == 1)
{
$x++;

foreach ( 
$srvs_array as $key => $value )
{
if (
$key == $x)
{
echo 
$value;
}
else
{
echo=
'НЕИЗВЕСТНО!';
}
}
}
}
?>

как-то так получается, ну массив я все таки распарсю из бд наверное, а то из файла может с правами быть косяк.
теперь получается нужно учесть, если несколько услуг заказано


Название: Re: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: Efendy от 13 Декабря 2012, 10:59:17
http://www.mysql.ru/docs/man/Bit_functions.html


Название: Re: Получить сумму доп.услуг пользователя SQL запросом.
Отправлено: stix от 13 Декабря 2012, 11:30:30
да ведь тоже самое я получу на php, лишний раз не дергая бд