Форум русской поддержки Joomla!® CMS
05.12.2016, 02:23:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сохранение расчета в таблицу MySQL

 (Прочитано 326 раз)
0 Пользователей и 1 Гость смотрят эту тему.
KasPol
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« : 24.06.2015, 12:54:45 »

Добрый день Уважаемые форумчане.
До сего момента разбирался со всеми вопросами самостоятельно дабы не отвлекать людей ненужными вопросами, но сейчас столкнулся с проблемой решить которую знание моего разума не хватает и поэтому обращаюсь за помощью к Вам.
Суть вопроса: - есть страница с небольшим скриптом делающим расчет по формуле, на странице есть поля для ввода значений и две кнопки(соответственно для расчета и очистки полей). И теперь возникла необходимость записать результат расчета в таблицу бд по клику еще на одну кнопку.
Увы моих познаний для этого не хватает, поэтому прошу помощи.
Буду безмерно благодарен за любую идею.
Прилагаю код
Код
<script lang="JavaScript">
function calculator(form) {
a = eval(form.a.value);
b = eval(form.b.value);
c = eval(form.c.value);
d = (a+b)*c;
form.total.value = d;
}
</script>
<form>
Введите Ц опт  <input type="text" name="a" /><br><br>
Введите РС ср  <input type="text" name="b" /><br><br>
Введите К ндс  <input type="text" name="c" /><br><br><br>
<input type="button" value="   Рассчитать тариф   " onclick="calculator(this.form)">
<input type="reset" value="   Сброс   "><br><br>
Результат <input type="text" name="total">
</form>
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #1 : 24.06.2015, 12:59:02 »

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

Как выводишь саму форму?
Записан
KasPol
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #2 : 24.06.2015, 13:18:44 »

Нужно записать только результат расчета.
Пока никак не вывожу, просто не знаю как поэтому и прошу помощи у знающих((
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #3 : 24.06.2015, 13:33:12 »

Пока никак не вывожу, просто не знаю как поэтому и прошу помощи у знающих((

Это уже тебе решать где будет удобно!

Но этот код будет работать везде...

Сначала создай таблицу где будут храниться результаты...
Выполнив SQL запрос в phpMyAdmin (префикс таблицы измени на свой...)
Код:
CREATE TABLE IF NOT EXISTS `web_value_form` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(11) CHARACTER SET utf8 NOT NULL,
  `valueform` text CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

потом сам код формы и ее обработчик...

Код:
<?php if($_POST['total'] == 'text'):
$db = JFactory::getDBO();
$user = JFactory::getUser();

$ValueForm = $_POST['a'] + $_POST['b'] * $_POST['c'];
$db->setQuery("INSERT INTO `#__value_form` (`id`, `userid`, `valueform`) VALUES ('', '".$user->get('id')."', '".$ValueForm."');");
$result = $db->loadObjectList();
endif; ?>
<form method="post">
Введите Ц опт  <input type="text" name="a" value="3" /><br><br>
Введите РС ср  <input type="text" name="b" value="3" /><br><br>
Введите К ндс  <input type="text" name="c" value="3" /><br><br><br>

<input type="submit" value="   Рассчитать тариф">
<input type="reset" value="   Сброс   "><br><br>
<input type="hidden" name="total" value="text">
</form>

Пришлось немного переделать форму...
Записан
KasPol
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #4 : 24.06.2015, 14:23:37 »

я же правильно понял из кода, что значение расчета сохраняется автоматически в таблицу после нажатия на сабмит "Рассчитать тариф"?
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #5 : 24.06.2015, 14:28:50 »

я же правильно понял из кода, что значение расчета сохраняется автоматически в таблицу после нажатия на сабмит "Рассчитать тариф"?

Да. Правильно...
Записан
KasPol
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #6 : 24.06.2015, 14:34:20 »

Простите я не точно выразил, то что нужно . Идея в том, что после нажатия на расчет и когда результат уже будет виден, кликается др баттон который и должен уже сохранить результат в таблицу.Простите что ввел в заблуждение
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #7 : 24.06.2015, 15:17:21 »

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

Код:
<?php if($_POST['total'] == 'text' && $_POST['save'] == '1'):
$db = JFactory::getDBO();
$user = JFactory::getUser();

$ValueForm = $_POST['a'] + $_POST['b'] * $_POST['c'];
echo $ValueForm.' save='.$_POST['save'];

elseif($_POST['total'] == 'text' && $_POST['save'] == ''):
$ValueForm = $_POST['a'] + $_POST['b'] * $_POST['c'];
echo $ValueForm;
endif; ?>
<form method="post">
Введите Ц опт  <input type="text" name="a" value="3" /><br><br>
Введите РС ср  <input type="text" name="b" value="3" /><br><br>
Введите К ндс  <input type="text" name="c" value="3" /><br><br>
<input type="checkbox" name="save" value="1">Сохранить данные<br>
<input type="submit" value="Рассчитать тариф">
<input type="reset" value="Сброс"><br><br>
<input type="hidden" name="total" value="text">
</form>
Записан
KasPol
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #8 : 24.06.2015, 15:59:42 »

Принцип вроде ясен,  так что буду разбираться дальше. Спасибо за помощь.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet