Я ищу советы и лучший способ привести в порядок следующий код PHP.
Я проверяю базу данных на $ This-> item-> значения [ »] и изменение выпадающего списка выбран = «выбрано» соответственно.
Как это можно сделать чище / проще?
<?php
$minbedroomsCheck = '';
if ( $this->item->values['min-bedrooms'] < '0' ) {
$minbedroomsCheck = 'selected="selected"';
}
$minbedroomsanyCheck = '';
if ( $this->item->values['min-bedrooms'] == '0' ) {
$minbedroomsanyCheck = 'selected="selected"';
}
$minbedrooms1Check = '';
if ( $this->item->values['min-bedrooms'] == '1' ) {
$minbedrooms1Check = 'selected="selected"';
}
$minbedrooms2Check = '';
if ( $this->item->values['min-bedrooms'] == '2' ) {
$minbedrooms2Check = 'selected="selected"';
}
$minbedrooms3Check = '';
if ( $this->item->values['min-bedrooms'] == '3' ) {
$minbedrooms3Check = 'selected="selected"';
}
$minbedrooms4Check = '';
if ( $this->item->values['min-bedrooms'] == '4' ) {
$minbedrooms4Check = 'selected="selected"';
}
$minbedrooms5Check = '';
if ( $this->item->values['min-bedrooms'] == '5' ) {
$minbedrooms5Check = 'selected="selected"';
}
?>
<select id="min-bedrooms" name="min-bedrooms" class="profile-select">
<option value="" <?= $minbedroomsCheck ?>>Min Bedrooms</option>
<option value="0" <?= $minbedroomsanyCheck ?>>Any</option>
<option value="1" <?= $minbedrooms1Check ?>>1+</option>
<option value="2" <?= $minbedrooms2Check ?>>2+</option>
<option value="3" <?= $minbedrooms3Check ?>>3+</option>
<option value="4" <?= $minbedrooms4Check ?>>4+</option>
<option value="5" <?= $minbedrooms5Check ?>>5+</option>
</select>
Вы можете сделать, как показано ниже,
Получить мин-спальня считать и выбраны минимальные спальни значение и сделать цикл, как показано ниже
<?php
$min_bedrooms = 6; // this should be stored in database
$min_bedrooms_selected = 4; //$this->item->values['min-bedrooms']
?>
<select class="profile-select" name="min-bedrooms" id="min-bedrooms">
<?php for($i = 0; $i < $min_bedrooms; $i++){ ?>
<?php if($i == $min_bedrooms_selected){ ?>
<option value="<?php echo $i;?>" selected="selected"> <?php echo $i;?></option>
<?php }else{ ?>
<option value="<?php echo $i;?>"> <?php echo $i;?></option>
<?php } ?>
<?php } ?>
</select>
Других решений пока нет …