Регистрация
Вход через соцсети
Восстановление пароля

Можно ли как-то внутри вывода в listQuery проводить операции

Новый топик
10.10.2006, 13:34
Ответить | Цитировать
Гость
Гость

Я понимаю что это не верно:
".listQuery("SELECT Price FROM MessageXX", 5 * "$data[Price])")."

Но как сделать какое-нибудь умножение например с полученными данными? Я понимаю что здесь просто строка,
но есть ли способ как-нибудь это хитро написать?
eval - нельзя применять? (не получается)

Спасибо!
11.10.2006, 09:38
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

вот самое простое:
Код:
".listQuery("SELECT 5*Price as Price FROM MessageXX","$data[Price])")."


Temet nosce...
11.10.2006, 13:09
Ответить | Цитировать
Кирилл Хряпин

Зарегистрирован:
2006-06-15
Сообщений: 207

Или:
Код:

" . listQuery("SELECT Price FROM MessageXX", '". (5*$data["Price"]) ."') . "
11.10.2006, 17:19
Ответить | Цитировать
Гость
Гость

Спасибо! Какие же вы умные, ребята! я правда восхищен и очень рад что вы помогаете здесь.
Если бы не ваша помощь на форуме, многие дела зашли бы в тупик..

Первое решение ("самое простое") подошло больше, т.к. надо не просто на "5" умножать, а на переменную. Реальный пример возник из необходимости задачи по http://netcat.ru/support/ncforum/?Subdiv_ID=5&... (Как сделать, чтобы цена товара сразу показывалась со скидкой)

и теперь это возможно:

".listQuery("SELECT ROUND(".$Price." * Function) as DiscountPrice, Name FROM Message54", "$data[Name]: <b>$data[DiscountPrice]</b><br>")."

Умножаю потому что заранее знаю что там скидка в процентах,
а как сделать грамотнее и выполнить операцию по взятому оператору FunctionOperator, ведь он имеет вид "*="?

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

Второй пример тоже работает, но не получается сделать с умножением на переменную. А вообще этот код обескуржаивает и приводит в трепет:
Код:
'". (5*$data["Price"]) ."'
- как это возможно такие кавычки? Никогда бы в голову не пришло!
И вообще непонятно что в какой последовательности выполняетсяулыбка
Но все равно большое спасибо!

Спасибо!
12.10.2006, 13:46
Ответить | Цитировать
Гость
Гость

А мне еще плиз подскажите как вывести такой запрос
".listQuery("SELECT SUM( Hits ) FROM Stats_Popularity WHERE Date>='2006-10-12' AND Link LIKE 'www.mydomain.ru/counter.gif'","$Data[SUM(Hits)]")."

С такой конструкцией $Data[SUM(Hits)] - выдает ошибку
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in /usr/home/mydomain/www/netcat/require/s_common.inc.php(9) : eval()'d code on line 1

Пробывал разные варианты никак не получается
12.10.2006, 15:51
Ответить | Цитировать
Гость
Гость

to:WineX
WineX писал(а):
А мне еще плиз подскажите как вывести такой запрос
".listQuery("SELECT SUM(Hits) FROM Stats_Popularity WHERE Date>='2006-10-12' AND Link LIKE 'www.mydomain.ru/counter.gif'", "$Data[SUM(Hits)]")."


Вот и я уже могу дать "ценный совет"улыбка
Вроде бы надо так делать:
".listQuery("SELECT SUM(Hits) as SumHits ........", "$Data[SumHits]")."

12.10.2006, 23:53
Ответить | Цитировать
Гость
Гость

Не а, неполучается.
В ответ молчание.
13.10.2006, 14:28
Ответить | Цитировать
n

Зарегистрирован:
2006-08-04
Сообщений: 170

Не $Data, а $data. PHP -- регистрозависимый язык, аккуратнее с именами переменных.
13.10.2006, 16:51
Ответить | Цитировать
Гость
Гость

Ура ))
Теперь на сайте есть своя внутренняя статистика которую могут смотреть пользователи.
Теперь у меня считает сколько человек посетило форум и сколько сайт.
Текстовый счетчик с данными сегодня/вчера/этот месяц

А то эти хотлоги и спайлоги вместе с мэилами считают процентов на 70, а 30 не показывают.
198 196 2006-10-13 16:51:04 8763
Описание проекта