<option value="5" <?php if($_POST['select']==5) echo 'selected="selected"' ?>>1</option>
<option value="12" <?php if($_POST['select']==12) echo 'selected="selected"' ?>>2</option>
<option value="21" <?php if($_POST['select']==21) echo 'selected="selected"' ?>>3</option>
<option value="32" <?php if($_POST['select']==32) echo 'selected="selected"' ?>>4</option>
<option value="45" <?php if($_POST['select']==45) echo 'selected="selected"' ?>>5</option>
<option value="60" <?php if($_POST['select']==60) echo 'selected="selected"' ?>>6</option>
<option value="77" <?php if($_POST['select']==77) echo 'selected="selected"' ?>>7</option>
<option value="96" <?php if($_POST['select']==96) echo 'selected="selected"' ?>>8</option>
....                                                   ...从1到84 所以太多了。
找个人帮定个简单的代码,应该可以用循环的吧。
我发现了一点规律,图片附上。等差公式。

解决方案 »

  1.   


    <?php
     $tag=array(5);
    for($i=0;$i<8;$i++):
    $arr_sun=array_sum($tag); //整个数组相加得到的就是option value
    ?>
        <option value="<?=$var?>"><?=$i+1?></option>
    <?php
    $new_value=($tag[$i]+2); //计算等差公式结果.
    array_push($tag,$new_value); //将差数追加到数组中.
    endfor;
    ?>
      

  2.   


    前面那个变量忘记弄专业点了.在来一个<select name="name">
    <?php
     $tag=array(5);
    for($i=0;$i<8;$i++):
    $arr_sun=array_sum($tag); //整个数组相加得到的就是option value
    ?>
        <option value="<?=$arr_sun?>"><?=$i+1?></option>
    <?php
    $new_value=($tag[$i]+2); //计算等差公式结果.
    array_push($tag,$new_value); //将差数追加到数组中.
    endfor;
    ?>
    </select>
      

  3.   


    <?php
    for($i=1;$i<=8;$i++){
    echo '<option value="'.$i*($i+4).'" selected="selected">'.$i.'</option>';
    }
    ?>
      

  4.   

    <?php
    $n=0;
    for ($i=1;$i<85;$i++){
    ?>
    <option value="<?php echo (5+$n)*$i; ?>"  <?php if($_POST['select']==(5+$n)*$i) echo 'selected="selected"' ?>><?php echo $i ?></option>
    <?php
    $n++;
    }
    ?>
      

  5.   

     这种时候就要用到for,如果是模板的话,就事先在php里处理成合适的关联数组,然后在模板里foreach(因为模板语言,例如smarty,是没有for的吧)