如何让html中下拉菜单从数据库中读取值

codrwoo 2009-10-21 03:53:04
html下拉菜单如下:
<select name="status">
<option>Open</option>
<option>Working</option>
<option>Waiting</option>
<option>Closed</option>
</select>

MySQL数据库中table有个字段为status,存储着每条记录的status数据(当然也是Open、Closed、Working、Waiting中的其中一个值)

窝希望加载页面时候能首先让该下拉菜单载入该条记录的status值,再允许用户自行根据当前的情况进行重新选择修改

窝知道下拉菜单默认某个值的方法是<option> 中加入selected => <option selected>,但如何才能让页面根据数据库中的情况进行匹配呢?

--
窝的思路:

首先读取数据库中该字段的值
<?php
$result=mysql_query("SELECT * FROM db WHERE status='$status'", $connection);
while($row=mysql_fetch_array($result)){
echo $row["status"];
}
?>
接下来呢?还望达人指点一二,谢谢先~
...全文
1914 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqli07 2009-10-21
  • 打赏
  • 举报
回复
看看手册把 或者看这个http://blog.163.com/rechinvip/blog/static/118150377200966525827/ 网上好多的哦 一起学习

codrwoo 2009-10-21
  • 打赏
  • 举报
回复
窝小声的问问具体要怎么用这个函数呢?(我知道include/require,但具体这个函数怎么用看不太懂)
wqli07 2009-10-21
  • 打赏
  • 举报
回复
给你个函数吧 呵呵

/**
* 作者:不死小强O(∩_∩)O哈哈~
*
* 作用:生成下拉菜单选项
* @param 下拉菜单数组 $array
* @param 要选中的(或已选的) $selected
* @return 下拉选项
*/
function CreatOptionElement($array,$selected,$last = "")
{
$strReturn = "";
foreach ($array as $key=>$value)
{
$strReturn .='<option value="'.$key.'"';
if($selected==$key)
{
$strReturn .= ' selected ';
//echo $strReturn."<br>".$selected."=>".$key;exit;
}
//$strReturn .='>'.$selected.$key.$value.$last.'</option>';
$strReturn .='>'.$value.$last.'</option>';
}
//exit($strReturn);
return $strReturn;
}

codrwoo 2009-10-21
  • 打赏
  • 举报
回复
果然是...狂汗...

页面显示出来了,但好像没有作用呀,下拉菜单没有根据数据库中的实际情况变化
wqli07 2009-10-21
  • 打赏
  • 举报
回复
;应该在}里面吧
codrwoo 2009-10-21
  • 打赏
  • 举报
回复
窝照着做了后都出错了,根据wisword达人的思路,我做了些修改,但还是有错,还望帮忙再看看:(请容我将问题从新写一遍,如下)


html下拉菜单如下:
<select name="status">
<option>Open </option>
<option>Close </option>
</select>

MySQL数据库中table有个字段为status,存储着每条记录的status数据(当然也是Open、Close中的其中一个值)
窝希望加载页面时候能首先让该下拉菜单载入该条记录的status值,再允许用户自行根据当前的情况进行重新选择修改


//获取页面ID
<?php
$id=$_GET['id'];
?>


//根据id取回该数据表内容
<?php
$result=mysql_query("SELECT * FROM db WHERE id='$id'", $connection);
while($row=mysql_fetch_array($result)){
echo $row["status"];
}
?>

//下拉表单
<form action="update.php" method="post">

Status: <select name="status">
<option<?php if($row["status"]=="Open"){echo "selected"}; ?>>Open</option>
<option<?php if($row["status"]=="Close"){echo "selected"}; ?>>>Close</option>
</select>
</form>


运行后出错

Parse error: syntax error, unexpected '}', expecting ',' or ';' in D:\wamp\www\resume.php on line 23

23行即,我有;收尾呀?
<option<?php if($row["status"]=="Open"){echo "selected"}; ?>>Open</option>
床上等您 2009-10-21
  • 打赏
  • 举报
回复
如果要载入页面时选取数据库的值,建议用 js 操作。
床上等您 2009-10-21
  • 打赏
  • 举报
回复

<select id="s">


<?php
$rs=mysql_query($strsql);
while($row=mysql_fetch_array($rs))
{
?>
<option value="<?=$row["cn"]?>"><?=$row["cn"]?></option>
<?
}
?>



</select>
wisword 2009-10-21
  • 打赏
  • 举报
回复
<?php
$result=mysql_query("SELECT * FROM db WHERE status='$status'", $connection);
while($row=mysql_fetch_array($result)){
?>
<select name="status">
<option <?php echo $row["status"]=='Open'?'selected':'' ?>>Open </option>
<option <?php echo $row["status"]=='Working'?'selected':'' ?>>Working </option>
<option <?php echo $row["status"]=='Waiting'?'selected':'' ?>>Waiting </option>
<option <?php echo $row["status"]=='Closed'?'selected':'' ?>>Closed </option>
</select>
<?php } ?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧