0

我正在寻找建议和整理以下 php 代码的最佳方法。

我正在检查数据库中的$this->item->values['']并相应地更改选择下拉列表的selected="selected"

如何使这变得更清洁/更简单?

<?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>
4

1 回答 1

0

你可以像下面这样,

  1. 首先将最小卧室数量存储在数据库中
  2. 然后将min-bedrooms 选择的值存储在数据库中,

检索min-bedrooms计数和min-bedrooms 选定值并执行如下 for 循环

<?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>
于 2015-09-30T13:32:30.173 回答