一个下拉框中一般只有一个项目被选中,所以一般不会对每个option都写一个selected=selected. 

解决方案 »

  1.   

    我觉得代码整理成下面这样会清晰点,希望你能看懂$page = 2; //假设现在page为2
    $optionsHtml = '';
    for($i = 1; $i <= $totalPage; $i++){
    $selectHtml = ''; //选中属性代码默认为空
    if($i == $page){
    //如果是当前页面就生成选中属性,现在假设是第2页了,那么第二个option应该会选中的
    $selectHtml = ' selected="selected"';
    }

    $optionsHtml .= '<option value="' . $i . '"' . $selectHtml . '>' . $i . '</option>'; //与选中属性拼接
    }
    $selectHtml = '<select onchange="这个不是我回复的重点">' . $optionsHtml . '</select>';而你上面说一直走else我认为是你的$page是0,你大概要这样做:
    $page = intval($_GET['page']);
    if($page < 1){
        $page = 1;
    }
      

  2.   


    这个是王道,不然后期看得你想吐。不使用smarty吗