<select name="pid">
                <option value="0">顶级分类</option>
                <volist name="xianshi" id="xianshi">
                    <neq name="xianshi.id" value="$list['id']">
                    <option value="{$xianshi.id}" <eq name="xianshi.id" value="$list.pid">selected</eq>>
                    {$xianshi.name}
                    </option>
                    </neq>
                </volist>
            </select>

<neq>就是不一样的所有显示出来

<eq>就是一样的所有显示出来

里面参数name和value都可以用变量,可是name用变量的时候不用加$


$list=$category->where("id=$id")->find();
        $xianshi=$category->query("select * from zs_category where pid=0 or pid in (select id from zs_category where pid=0)");
        $this->assign('xianshi',$xianshi);
        $this->assign('list',$list);

这是action里面的代码,注意,如果不会写语句,可以直接用mysql的语句,然后用query就可以了,语句可以在navicat工具里面检验一次