2015-04-01 59 views
-4

所以从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

+0

我真的不明白你的问题是什么。请告诉我为什么你不能将价值改变成任何你想要的? 键盘无法使用? 2015-04-01 21:09:40

+0

从数据库中使用两个不同的字段,一个用于显示名称的值,一个用于显示名称.....假设我已经猜到了你在做什么。 – developerwjk 2015-04-01 21:10:24

+0

KIKO ...寻找一些帮助,而不是一个巨魔...但原因是因为如果我更改选项值,它将是每个生成的输入相同的值。所以我在这里查看10个以上的值。 – Tom 2015-04-01 21:13:40

回答

0

假设你已经在你的SQL田部备案的命名“颜色”,那么你sql中会是这样的:

select color,am_task from mytable 

和打印时选择:

echo '<option value="'.htmlspecialchars($test['color']).'">'.htmlspecialchars($test['am_task']).'</option>'; 
+2

请注意,'htmlspecialchars'在这里是个好主意,以防颜色/任务包含引号,'<'符号等。 – ceejayoz 2015-04-01 21:18:26

0

使用两个来自分贝不同的字段,一个用于值,一个用于显示名称:

​​

我会假设你不具备这个领域还没有,所以很明显,你需要添加它,使用类似(除非你有编辑表架构一个GUI):

alter table am_dropdown add am_color varchar(20); 

然后更新记录,以配对的颜色与任务名称:

update am_dropdown set am_color='green' where am_task='holiday'; 
+0

我使用了您的示例,因此我添加了额外的“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

+0

@Tom只是拿出where子句,你会得到它们。在构建下拉列表时,为什么要将其限制为像WHERE am_color ='green''这样的一行? – developerwjk 2015-04-02 16:27:00

+0

@Tom还有'in()':'('green','blue')中的am_color,' – developerwjk 2015-04-02 16:27:59

相关问题