Задача такая. Необходимо руководствуясь температурой окружающей среды выдать для заправки автомобиля количество горючего в соответствии с нормой, а именно:
- если температура воздуха от 0 до -5 то к наливаемому горючему добавляется ещё 2 %; - если температура воздуха от -5 до -10 то к наливаемому горючему добавляется ещё 4 %; - если температура воздуха от -10 до -15 то к наливаемому горючему добавляется ещё 6 %... и так далее. Я пытаюсь реализовать так, что бы при выборе пункта меню на выходе я получил количество горючего, которое хранится в переменной gor_vydat ПЛЮС сверху добавляется количество по норме. |
Поскольку я начинающий, то я параллельно ищу ответ на вопрос и реализовываю его сразу. На практике лучше изучается.
|
Неизвестно Откуда на сервере берутся данные (по уму это должна быть база), но если по минимуму то достаточно массива и гораздо простого вывода списка:
<?php $arr = [2=>['title'=>'от 0 до -5 градусов', 'percent'=> 2], ...]; ?> <select id="temperatura" onchange="document.location=OnChange="Rasch_Gor(\' temperatura\',this.options[this.selectedIndex].value" title="Температура среды"/> <option>Выберите температуру</option> <option value="1" data-percent="0">Температура выше 0</option> <option value="<?=$_SESSION['temperatura']?>" data-percent="<?=$arr[$_SESSION['temperatura']]['percent']?>"><?=$arr[$_SESSION['temperatura']]['title']?></option> </select> Получить и рассчитать несложно. Но вот это onchange="document.location=OnChange="Rasch_Gor .... нечто неописуемое, и к тому же, пусть рабочее, тогда о каком расчете на клиенте идет речь? PS. Еще раз - вы понимаете, что ваш список будет содержать не все опции для выбора или нет? Случаем не значение ли ранее выбранного, хранящегося в сессии, нужно отметить в списке? |
Такой вот тип меню я взял с нета, немного адаптировал под свои требования, по сути я ещё не знаю что значит эта строка. Применил, она заработала и далее ищу ответы на вопросы. Поэтому и спрашиваю, может сменить тип выпадающего меню, что бы можно было выполнить поставленную задачу?
|
данные вводятся вручную, но записываются в базу
|
Вот таким образом и вводится
<div style="position: absolute; width: 159px; height: 47px; z-index: 2; left: 10px; top: 185px" id="layer19"> <tr> <td>Выдать горючего, л.:</td> <td><input type="text" name="vydat" size = 15 title = "Выдано горючего"></td> </tr> |
Вы не отвечаете на вопросы:
1) где нужно производить на расчет - на сервере или на клиенте? 2) если на клиенте, то почему по событию выбора в списке прописан переход? 3) что вы хотите "смудрить" со списком на сервере используя переменную в сессии? |
Установлен Денвер, dbForge и SublimeText. Сервер локальный.
|
Цитата:
Неужто вопросы непонятны? Попробуем так: а) при выборе в списке (то есть при каждом изменении в нем) выбор пользователя отправляется на сервер и там производится расчет? б) при выборе в списке рассчитывается на клиенте, а на сервер отправляется отправлением формы (submit)? Какой из вариантов требуется? |
Подскажите, здесь возможно присоединить скриншот? Я бы показал наглядно.
|
Часовой пояс GMT +3, время: 16:40. |