Показать сообщение отдельно
  #3 (permalink)  
Старый 27.05.2015, 16:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Если с хранимыми процедурами не получится, то можно в поле хранить не формулу, а ссылку на функцию ее выполняющую, которая будет выполнена после выборки из базы. Например, в таблице 5 полей из которых первые четыре, это значения переменных a, b, c, d, а пятое ссылка на функцию "name_1":
$func = array(
    'name_1' => function($v) {
        return $v[0] * ($v[1] + $v[2] * $v[3]);
    }
);
$q = mysql_fetch_row(mysql_query('SELECT * FROM table_name'));
echo $func[$q[4]](array_slice($q, 0, 4));
Ответить с цитированием