Показать сообщение отдельно
  #19 (permalink)  
Старый 21.08.2017, 17:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 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, запишет в базу, а попытка записи второго приведет к ошибке дублирования ключа. Если даже это не первичный ключ с автоинкрементом, то запись второго пользователя заменит запись первого.

Последний раз редактировалось laimas, 21.08.2017 в 17:14.
Ответить с цитированием