Имеется такой код:
if($dbrow->displacement){
$dispexp = explode(".", $dbrow->displacement);
$dispv1 = $dispexp[0];
$dispv2 = $dispexp[1];
} else {
$dispv1 = '';
$dispv2 = '';
}
$disp1[] = JHTML::_('select.option', '', 'Литры' , 'value', 'text' );
for($i=0; $i < 7; $i++) {
$disp1[] = JHTML::_('select.option', $i, $i);
}
if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', $dispv1);
$disp2[] = JHTML::_('select.option', '', 'Десятые' , 'value', 'text' );
for($i=0; $i < 10; $i++) {
$disp2[] = JHTML::_('select.option', $i, $i);
}
$lists['disp2'] = JHTML::_('select.genericlist', $disp2, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', $dispv2);
Код служит для записи в базу объема двигателя автомобиля.
Ужасно неудобный с двух выпадающих списков для литров и десятых.
Если это реально, помогите пожалуйста его упростить, чтоб получился один выпадающий список с последовательностью примерно от 0,9 до 5,0 с шагом 0,1.
Спустя 1 час, 19 минут, 20 секунд (30.06.2012 - 00:12) sergeiss написал(а):
А кто тебе мешает сделать один цикл for(...) и задать одну вещественную переменную, которую наращивать с нужным тебе шагом 0,1? Не вижу препятствий.
Спустя 10 часов, 36 минут, 18 секунд (30.06.2012 - 10:48) Fellix написал(а):
sergeiss, мешает в первую очередь отсутствие знаний )))
Вот что получилось, подсказали:
В выпадающем списке целые числа остаются целыми.
А хотелось бы "1.0" и т.д.
подсказали и это:
но тут уже я совсем заблудился))
Как это использовать в моём случае?
Вот что получилось, подсказали:
$disp1[] = JHTML::_('select.option', '', 'Объем в литрах' , 'value', 'text' );
for($i=0.7; $i < 7.7; $i+=0.1) {
$disp1[] = JHTML::_('select.option', $i, $i);
}
if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', intval($dbrow->displacement));
В выпадающем списке целые числа остаются целыми.
А хотелось бы "1.0" и т.д.
подсказали и это:
$y = sprintf("%.1F", $x);
но тут уже я совсем заблудился))
Как это использовать в моём случае?
Спустя 1 час, 3 минуты, 38 секунд (30.06.2012 - 11:52) Fellix написал(а):
Вопрос решен, всем спасибо!
$disp1[] = JHTML::_('select.option', '', 'Объем в литрах' , 'value', 'text' );
for($i=0.7; $i < 7.7; $i+=0.1) {
$l = number_format( $i, 1 );
$disp1[] = JHTML::_('select.option', $l, $l);
}
if($config->reqaddisplacement){
$displacementclass = "validate[required]";
}
$lists['disp1'] = JHTML::_('select.genericlist', $disp1, 'displacement[]',
'class="'.$displacementclass.' inputbox1" size="1" ',
'value', 'text', intval($dbrow->displacement));
Спустя 25 минут, 23 секунды (30.06.2012 - 12:17) sergeiss написал(а):
Цитата (Fellix @ 30.06.2012 - 11:48) |
мешает в первую очередь отсутствие знаний ))) |
Цитата (Fellix @ 30.06.2012 - 12:52) |
Вопрос решен, всем спасибо! |
Как я вижу, знания ты быстро приобретаешь
