HTML - 使用mysql/php生成一个选择框。我如何更改生成的选择框选项的“值”?
所以从MySQL(PHP)生成我的选择框,这意味着我无法插入“值”(据我所知)是这样的:HTML - 使用mysql/php生成一个选择框。我如何更改生成的选择框选项的“值”?
<option value="CCFFFF">light blue
我的选择框是这样产生的:
?php
if (mysql_num_rows($result)!=0)
{
echo '<select onChange="updateColor(this.options[this.selectedIndex].value);" name="sunday combo" id="Suncombo2">
<option value= " " selected="selected">Please Select</option>';
while ($test = mysql_fetch_array($result))
{
echo '<option value="'.$test['am_task'].'">'.$test['am_task'].'</option>';
}
echo '</select>';
}
?>
之所以使用“价值”就是让我能够自动选择的选项的颜色从选择框更改。 有没有办法做到这一点? 我有两个选择:
- 假期
- TBC
这些MySQL的内部定义的,我知道他们不会离开。所以我想要“假日”绿色,然后是“TBC”橙色。从选择框中生成的任何其他值我都想要蓝色。这是可能的,不知道我是否已经完全没有了我的深度?
我已经有改变位于此处内部的颜色代码:HTML - changing color in text area from an option inside of a select box generated from mysql
假设你已经在你的SQL田部备案的命名“颜色”,那么你sql中会是这样的:
select color,am_task from mytable
和打印时选择:
echo '<option value="'.htmlspecialchars($test['color']).'">'.htmlspecialchars($test['am_task']).'</option>';
请注意,'htmlspecialchars'在这里是个好主意,以防颜色/任务包含引号,' ceejayoz 2015-04-01 21:18:26
使用两个来自分贝不同的字段,一个用于值,一个用于显示名称:
我会假设你不具备这个领域还没有,所以很明显,你需要添加它,使用类似(除非你有编辑表架构一个GUI):
alter table am_dropdown add am_color varchar(20);
然后更新记录,以配对的颜色与任务名称:
update am_dropdown set am_color='green' where am_task='holiday';
我使用了您的示例,因此我添加了额外的“am_color”并将每种颜色分配给变量我需要。 现在我正在使用:$ result = mysql_query(“SELECT * FROM am_task WHERE am_color ='green'”)或die(mysql_error()); 然后:echo''; 虽然我想为绿色,蓝色和橙色做这个,但不能将3合并为同一个选择框中的绿色,橙色和蓝色值。 – Tom 2015-04-02 12:42:06
@Tom只是拿出where子句,你会得到它们。在构建下拉列表时,为什么要将其限制为像WHERE am_color ='green''这样的一行? – developerwjk 2015-04-02 16:27:00
@Tom还有'in()':'('green','blue')中的am_color,' – developerwjk 2015-04-02 16:27:59
我真的不明白你的问题是什么。请告诉我为什么你不能将价值改变成任何你想要的?键盘无法使用? –
2015-04-01 21:09:40
从数据库中使用两个不同的字段,一个用于显示名称的值,一个用于显示名称.....假设我已经猜到了你在做什么。 – developerwjk 2015-04-01 21:10:24
KIKO ...寻找一些帮助,而不是一个巨魔...但原因是因为如果我更改选项值,它将是每个生成的输入相同的值。所以我在这里查看10个以上的值。 – Tom 2015-04-01 21:13:40