热搜:NVER node 开发 php

php 如何让select 被选中

2024-08-20 19:00:01
php 如何让select 被选中

各位高手,我是个初学者,最近做php时,从数据库得的数不能在 页面显示,请帮忙,非常感你们。
过程如下:
 mysql 数据库中一个表为 school_grade
内容如下:
gradeId   gradeName gradeState
2012    12级             毕业
2013    12级             在校

下面用的是smaryt
1    model层为:
class manaModel
{
public  function showGrade(){
//这是用于显示年级的
$sqlHelper=new SqlHelper();
$sql="select * from school_grade";
$result=$sqlHelper->execute_selectArray($sql);
$sqlHelper->close_connect();
return  $result;
}
}

2    控制层为:
<?php
 require_once '../models/manaModle.class.php';
$dataModel=new manaModle();//实例 化用户模板
$smarty->assign("res_grade",$dataModel->showGrade());//用于显示年级
$smarty->display("manager.html");
?>

3   view(templates)层:


年级设置






     
 
 
 
年级编号 年级名称 年级状态

                      
                     



 我想在显示表格中,有一个select 中,12级为毕业,那就显示为“毕业”,13级人在校,select 中选中"在校",同时,内部的两种状态还存在,请况代码如何写,用javascript也可以,请帮外忙,我将非常感激。


回复讨论(解决方案)


不知道smaryt的标签怎么用 先试试吧

不明白你的意思,选中的标准是什么?

在需要选中的option上加入 <?php echo "selected="selected"; ?>

例如





这种方法我试过了,不能根据$mess.gradeState的值来判断哪个值被选中,执行结果都为‘毕业’,
但也非常感谢了。





这种方法我试过了,不能根据$mess.gradeState的值来判断哪个值被选中,执行结果都为‘毕业’,
但也非常感谢了。



为什么两个option的value都是{$mess.gradeState},这里有问题吧,另外你说不能根据$mess.gradeState的值来判断哪个值被选中,这就奇怪了,可以这样测试
echo $mess.gradeState;
var_dump($mess.gradeState=='在校');

看看输出什么。





这种方法我试过了,不能根据$mess.gradeState的值来判断哪个值被选中,执行结果都为‘毕业’,
但也非常感谢了。


那你打印$mess.gradeState出来看下是什么






这种方法我试过了,不能根据$mess.gradeState的值来判断哪个值被选中,执行结果都为‘毕业’,
但也非常感谢了。


那你打印$mess.gradeState出来看下是什么

 
在控制层打印如下:
   Array
(
    [0] => Array
        (
            [gradeId] => 127
            [gradeName] => 13级
            [gradeState] => 在校
        )

    [1] => Array
        (
            [gradeId] => 127
            [gradeName] => 12级
            [gradeState] => 毕业
        )

)

但是,在view层 <?php echo "<{$mess.gradeState}>";?>打印不出结果。用 一句在页面的打印出的结果为:在校  毕业

{$mess.gradeState}能分别输出 在校和毕业是吗 
那用6楼的var_dump($mess.gradeState=='在校'); 看看是不是boolean类型 是不是true 


{$mess.gradeState}能分别输出 在校和毕业是吗 
那用6楼的var_dump($mess.gradeState=='在校'); 看看是不是boolean类型 是不是true 

不能输出,显示不出boolean 类型。

这是不因我用的是smarty模板的原因啊,因为整个操作都在 teplates中进行了,按理说,smaryt应该是显示与逻辑分开的,我在显示是用了逻辑,请高手指点一下。这种情况如何解决。

充填 option,smarty 有专门的方法 http://www.111cn.net/phper/122/smarty_html_options_select.htm


充填 option,smarty 有专门的方法 http://www.111cn.net/phper/122/smarty_html_options_select.htm


这几天我一直研究这个问题,但总找不到如何进行判断。

问题没有解决,含泪感谢大家。
请大家继续到这个地文坛帮我:
http://blog.csdn.net/yuxuefa/article/details/39855827