我不擅长php。我安静地掌握了一点,但今天这句话又把我的知识不足推到了一点。
我有一个多选择列表,从一些SQL结果填充…一切顺利
<select name="groups[]" size="1" multiple class="groups" id="select">
<?php
do {
?>
<option value="<?php echo $row_rsGroups['group']?>">
<?php echo $row_rsGroups['group']?>
</option>
<?php
} while ($row_rsGroups = mysql_fetch_assoc($rsGroups));
$rows = mysql_num_rows($rsGroups);
if($rows > 0) {
mysql_data_seek($rsGroups, 0);
$row_rsGroups = mysql_fetch_assoc($rsGroups);
}
?>
</select>
工作得很好,但我接下来要做的是,在列表中已经高亮显示了某些值,这些值来自数组。
因此列表到达页面,其中包含所有可用的组,即法律,销售,营销,管理,促销等
但是我希望其中一个或多个已经根据数组突出显示,即legal和sales,所以$group_array = "legal,sales"
这就是我被卡住的地方
希望有意义
已经考虑过将其作为一堆复选框来提供,但却更加卡住了,并且无法完全理解如何使用复选框来生成
帮助! !
如果你的数据是这个格式的字符串:local,sales
,这将工作:
<select name="groups[]" size="1" multiple class="groups" id="select">
<?php
do {
$selected = "";
if (substr_count($group_array, $row_rsGroups['group']) > 0) $selected = " selected="selected";
?>
<option value="<?php echo $row_rsGroups['group']?>"<?php echo $selected; ?>>
<?php echo $row_rsGroups['group']?>
</option>
<?php
} while ($row_rsGroups = mysql_fetch_assoc($rsGroups));
$rows = mysql_num_rows($rsGroups);
if($rows > 0) {
mysql_data_seek($rsGroups, 0);
$row_rsGroups = mysql_fetch_assoc($rsGroups);
}
?>
</select>
现在,如果你的数据是在一个数组中,即_POST
或_GET
,你应该改变if
为:
if (in_array($row_rsGroups['group'], $group_array))