对不起,我想问一个新手问题:)
我有这样的PHP脚本:
<select id="member">
<?php
$sql = " select id,name from member order by name ";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query))
{
?>
<option value="<?php echo $row["id"]; ?>"><?php echo $row["name"]; ?></option>
<?php
}
?>
</select>
然后结果将生成像这样的HTML
<select id="member">
<option value="1">Jon Skeet</option>
<option value="2">Marc Gravell</option>
<option value="3">Darin Dimitrov</option>
</select>
我的问题是,实际上我在mysql中有2个表,第一个是成员表,第二个 member_invited 表。
在成员表中:
id |的名称
---------------
00 | Jon Skeet
01 | Marc Gravell
02 |达林迪米特罗夫
然后在 member_invited 表中:
id |的名称
---------------
00 | Jon Skeet
02 |达林迪米特罗夫
在这两个表中
我想这样列出我的清单:
(看看class =“selected”是在成员邀请的选项标签中)
<select id="member">
<option value="1">Jon Skeet</option>
<option value="2" class="selected">Marc Gravell</option>
<option value="3" class="selected">Darin Dimitrov</option>
</select>
请随意使用javascript或jquery ,,或者我可以只使用PHP解决它?
非常感谢:))
答案 0 :(得分:2)
你必须在MySQL中加入member_invited
表,然后在结果集中扩展关于is_invited
标志的while循环
<?php
$sql = "SELECT x.id,x.name,IFNULL(y.id,0) AS is_invited FROM member x LEFT JOIN member_invited y ON x.id=y.id ORDER BY x.name";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query))
{
?>
<option value="<?php echo $row["id"]; ?>"<?php if ($row['is_invited']>0) { echo " class=\"selected\""; } ?>><?php echo $row["name"]; ?></option>
<?php
}
?>
答案 1 :(得分:1)
尝试这样的事情
$("#member option").each(function(){
var $this = $(this);
if($this.val() == "2" || $this.val() == "3"){
$this.addClass("selected");
}
});
答案 2 :(得分:0)