Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 474 Просмотров
*

KasPol

  • Новичок
  • *
  • 5
  • 0
Добрый день Уважаемые форумчане.
До сего момента разбирался со всеми вопросами самостоятельно дабы не отвлекать людей ненужными вопросами, но сейчас столкнулся с проблемой решить которую знание моего разума не хватает и поэтому обращаюсь за помощью к Вам.
Суть вопроса: - есть страница с небольшим скриптом делающим расчет по формуле, на странице есть поля для ввода значений и две кнопки(соответственно для расчета и очистки полей). И теперь возникла необходимость записать результат расчета в таблицу бд по клику еще на одну кнопку.
Увы моих познаний для этого не хватает, поэтому прошу помощи.
Буду безмерно благодарен за любую идею.
Прилагаю код
Код: javascript
<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

  • Живу я здесь
  • ******
  • 1338
  • 59
Re: Сохранение расчета в таблицу MySQL
« Ответ #1 : 24.06.2015, 13:59:02 »
А какие данные надо записать - те которые вводит пользователь  в форме, конечный результат или все вместе...

Как выводишь саму форму?
...
*

KasPol

  • Новичок
  • *
  • 5
  • 0
Re: Сохранение расчета в таблицу MySQL
« Ответ #2 : 24.06.2015, 14:18:44 »
Нужно записать только результат расчета.
Пока никак не вывожу, просто не знаю как поэтому и прошу помощи у знающих((
*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
Re: Сохранение расчета в таблицу MySQL
« Ответ #3 : 24.06.2015, 14: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

  • Новичок
  • *
  • 5
  • 0
Re: Сохранение расчета в таблицу MySQL
« Ответ #4 : 24.06.2015, 15:23:37 »
я же правильно понял из кода, что значение расчета сохраняется автоматически в таблицу после нажатия на сабмит "Рассчитать тариф"?
*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
Re: Сохранение расчета в таблицу MySQL
« Ответ #5 : 24.06.2015, 15:28:50 »
я же правильно понял из кода, что значение расчета сохраняется автоматически в таблицу после нажатия на сабмит "Рассчитать тариф"?

Да. Правильно...
...
*

KasPol

  • Новичок
  • *
  • 5
  • 0
Re: Сохранение расчета в таблицу MySQL
« Ответ #6 : 24.06.2015, 15:34:20 »
Простите я не точно выразил, то что нужно . Идея в том, что после нажатия на расчет и когда результат уже будет виден, кликается др баттон который и должен уже сохранить результат в таблицу.Простите что ввел в заблуждение
*

motokraft

  • Живу я здесь
  • ******
  • 1338
  • 59
Re: Сохранение расчета в таблицу MySQL
« Ответ #7 : 24.06.2015, 16: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

  • Новичок
  • *
  • 5
  • 0
Re: Сохранение расчета в таблицу MySQL
« Ответ #8 : 24.06.2015, 16:59:42 »
Принцип вроде ясен,  так что буду разбираться дальше. Спасибо за помощь.