最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

php 怎么让select 被选中

来源:http://erdangjiade.com/topic/79474.html 你好,世界。 2017-10-04 21:03浏览(1)

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)层:
<dir id='grade' class="grade">
<h1>年级设置</h1>
<hr>
<table border='1px'>
<tr><td>年级编号</td><td>年级名称</td><td>年级状态</td></tr>
<{foreach from=$res_grade item=mess}>

<tr><td><{$mess.gradeId}></td><td><{$mess.gradeName}></td><td>
<select >
----请问这一部如何写?
</select>
</td></tr>
<{/foreach}>
</table>
</dir>

我想在显示表格中,有一个select 中,12级为毕业,那就显示为“毕业”,13级人在校,select 中选中"在校",同时,内部的两种状态还存在,请况代码如何写,用javascript也可以,请帮外忙,我将非常感激。
------解决思路----------------------
<option value="{$mess.gradeState}" <?PHP if({$mess.gradeState}=='毕业'){echo 'selected';} ?>>毕业</option>
<option value="{$mess.gradeState}" <?PHP if({$mess.gradeState}=='在校'){echo 'selected';} ?>>在校</option>
------解决思路----------------------
不知道smaryt的标签怎么用 先试试吧
------解决思路----------------------
在需要选中的option上加入 <?php echo "selected="selected"; ?>

例如
<select name="sex">
<option value="1" <?php echo "selected="selected"; ?> >男</option>
<option value="2">女</option>
</select>
------解决思路----------------------
引用:Quote: 引用:
<option value="{$mess.gradeState}" <?PHP if({$mess.gradeState}=='毕业'){echo 'selected';} ?>>毕业</option>
<option value="{$mess.gradeState}" <?PHP if({$mess.gradeState}=='在校'){echo 'selected';} ?>>在校</option>

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

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

看看输出什么。
------解决思路----------------------
充填 option,smarty 有专门的方法http://www.111cn.net/phper/122/smarty_html_options_select.htm

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2