Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
1

Операции со значениями из формы

09.06.2015, 13:37. Показов 564. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
првт.

есть, например, форма:
HTML5
1
2
3
4
5
<form>
<input type="text"  id="devs" name="field1" >
<input type="text"  id="os" name="field2">
<input type="text"  id="users" name="field3">
</form>
Я собираю все значения с input'ов по клику
Java
1
2
3
$(document).on('click', "#submitForm", function() {
values = $(this).find("select,textarea,input").serializeArray();
});
А теперь мне нужно посчитать по формуле, которая хранится в mysql и получается через $.ajax
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
            type: "POST",
            url: "controller.php",
            data: {
                action: 'getFormula',
                frml_id: id
            },
            dataType: 'json',
            success: function(data){
                console.log(data);
// CONSOLE.LOG выводит: (devs + os)*users
 
            }
        });
Как мне запихнуть значения из postData в формулу полученную из $.ajax?

Спасибо за внимание. Понимаю, что вопрос не очень тривиальный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2015, 13:37
Ответы с готовыми решениями:

Математические операции между значениями chekbox и значениями текстового поля
Есть код &lt;p&gt;Total price:&lt;input type=&quot;text&quot; id=&quot;total&quot; &quot;text&quot; size=&quot;3&quot; maxlength=&quot;9&quot;&gt; ...

Операции над числовыми значениями из таблицы
Каким образом выполнить операцию над значениями из таблицы(JTable)? К примеру, во втором столбце...

Коллекции. Операции с булевыми значениями. Random
Есть класс driver. public class Driver { private boolean ready_driver; private...

Как применить арифметические операции со значениями в textBox
Имеется, допустим, 5 текст боксов. В каждом из них, инициализировано какое-то значение переменной....

12
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 13:53 2
Ну нафига возвращать формулу клиенту? Может проще посчитать на сервере и вернуть ответ?
0
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
09.06.2015, 13:59  [ТС] 3
Armi,
дык всё просто... можно и на сервере
PHP
1
 php eval(($_REQUEST['devs']+$_REQUEST['os'])*$_REQUEST['users'])
Есть проблема в ресурсах.
В пик доходит до 10 000 обращений в минуту.
Снятие вычислительной нагрузки с CPU благотворно сказывает на всей производительности.
Да, снимаем всего 3%-5%, но уже дышать чуть легче.

Есть решение?
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 14:12 4
Вы уже нагружаете сервер когда делаете запрос к БД, поэтому хранить там формулы вобще не вариант.
0
92 / 92 / 51
Регистрация: 29.04.2013
Сообщений: 361
09.06.2015, 14:14 5
pumpk1n, eval - я надеюсь вы не злоупотребляете его использованием? А лучше вообще им не пользоваться.
Цитата Сообщение от pumpk1n Посмотреть сообщение
Как мне запихнуть значения из postData в формулу полученную из $.ajax?
у вас есть возвращенная переменная data, посмотрите что в нее приходит, и вытаскивайте из нее то что нужно.
И еще, а зачем нужен ajax запрос если все можно сделать сразу на клиенте?
0
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
09.06.2015, 14:15  [ТС] 6
Armi,
не хочу показаться невежливым.
Я благодарен Вам за внимание к моему вопросу, но попрошу перестать комментировать, ибо вы судя по всему не сталкивались с хайлоадом
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 14:17 7
Вариант с подгружаемым скриптом тоже норм.
Javascript
1
$.getScript("tip1.js");
Неужели все 10 000 одновременно что то считают? Есть ли вобще нормальное кэширование на сайте? Может просто CMS УГ и не рассчитана на такие нагрузки?
0
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
09.06.2015, 14:25  [ТС] 8
amadey18,
приходится использовать eval, по причине "зелёности" кода.
сейчас я ищу решение запуска вычислительных операций на стороне клиента без применения eval.

Поясните, пожалуйста, как что Вы имеете под "вытаскивать" из data?
мне вернулась data виде текста:
Javascript
1
(devs + os)*users
а что дальше с ней делать? Если можно, то с примером.

Добавлено через 3 минуты
Armi,
да. система УГ. Не рассчитана на нагрузки.
Я сейчас-то "зелёный" кодер, а когда писал, только-только начинал осваивать php+jquery!
Не ожидал, что будет вообще кто-то ей пользоваться.

Javascript
1
$.getScript("tip1.js");
Это хорошо, но что будет в этом tip1.js?
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 14:36 9
Вариант вашей формулы расчета для конкретного случая. Ну никак не дополнительное обращение к БД. В таких проектах нужно кэшировать по максимуму все статические данные, чтобы каждый раз их не обрабатывать PHP.
0
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
09.06.2015, 14:37  [ТС] 10
Armi,
а что делать, если у каждого юзера своя формула расчёта?
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 14:48 11
Закэшировать их с помощью php в такие файлы в соответствии например в с именем юзера и сложить их в отдельную папку:

Ivanov_raschet.js
Petrov_raschet.js
Sidorov_raschet.js

При запросе определять что за пользователь и отдавать ему нужный js. Соответственно если формула менялась перекэшировать эту запись.
0
0 / 0 / 2
Регистрация: 23.04.2015
Сообщений: 13
09.06.2015, 14:54  [ТС] 12
Armi,
спасибо, но такой вариант не очень удобный, ибо сейчас уже почти 1300 активных юзеров.
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 15:04 13
Цитата Сообщение от pumpk1n Посмотреть сообщение
Armi,
спасибо, но такой вариант не очень удобный, ибо сейчас уже почти 1300 активных юзеров.
В этом и суть что вам не надо создавать все js ручками нужно написать скрипт на php который это сделает за вас на все 1300 записей юзеров если у вас сейчас формулы храняться в БД и вы их преобразуете eval(). Соответственно это можно сделать на резервной копии БД а потом залить назад на сервер.
0
09.06.2015, 15:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2015, 15:04
Помогаю со студенческими работами здесь

Операции с минимальными и максимальными значениями трех массивов
Дано 3 массива , надо найти их min и max, потом min(a)+max(b)-min(c)

Арифметические операции над значениями двух разных таблиц и запись итога в одну из них
Добрый день. Табл.1 Табл.1 ID X 1 X1 Табл.2

Центровка формы со значениями из AJAX запроса
Есть всплывающие окно, которое получает содержимое с сервера по AJAX, данные успешно получаются, но...

Как обновить несколько записей значениями из формы?
Приветствую Ситуация такая: Есть html форма. В ней таблица из нескольких строк. В каждой таблице...

Изменение размеров формы в соответствии с вводимыми в TextBox значениями
Пожалуйста, подскажите как осуществить следующее: При изменении пользователем значений в...

Автоматическое заполнение полей формы первой таблицы значениями из второй
Здравствуйте. Возникла такая проблема при создании форм: Мне нужно, чтобы при выборе кода товара в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru