Сообщение от pava467
|
Так а мне что делать то с кодом?
|
Курс валюты сервер должен получать один раз в сутки по окончанию торгов на валютной бирже. Если этот курс используется только для расчета в этой форме (не считая вывода для информации), то выгодно его помещать в атрибут поля формы, по изменению значения в котором производится расчет. Иначе курс нужно выводить как js-переменную, но не в скриптах подключаемых, а в теле страницы. В атрибут поля нужно поместить и цену за час.
Очень странная форма у вас, кроме скрытых полей в ней ничего нет, а поля с именем "k-less" не видно, но в общем это может выглядеть так и сразу с выводом в рублях для этого значения по умолчанию:
<input name="k-less" value="1" data-price="<?=$perhour?>" data-usd="<?=$currency?>" />
<span class="k-cost"><?=$perhour * $currency?></span>
Клиент обрабатывает расчет по мере ввода в поле:
$(window).load(function() {
$('input[name="k-less"]').change(function () {
var o = $(this);
$('.k-cost').text(o.data('price') * o.data('usd') * this.value);
});
});
Запрос же в базу обязательно заменить, то что у вас написано, это мягко выражаясь ахинея. Последняя запись в базу, это из отсортированных в обратном порядке по ID или времени добавления записи взять первую (LIMIT 1).
Если при этом интересует только поле id, то только его и нужно получать. Но если его получение для <?=
$v['id']+1?> (это краткая запись <?php echo $v['id']+1; ?>), которое будет служить новым идентификатором для новой записи, то это грубейшая ошибка. Идентификаторы записей, это зачастую первичный ключ с автоинкрементом. Если таким образом формировать идентификаторы записей в базе, то это можно делать только если у этой таблицы будет один единственный пользователь, что вряд ли в вашем случае верно. А это означает, что неизбежны ситуации, когда один из пользователей, которым вашим кодом будет сформирован один и тот же следующий ID, запишет в базу, а попытка записи второго приведет к ошибке дублирования ключа. Если даже это не первичный ключ с автоинкрементом, то запись второго пользователя заменит запись первого.