首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为php和mysql数据更改中的表单选择值

为php和mysql数据更改中的表单选择值
EN

Stack Overflow用户
提问于 2018-06-27 05:11:44
回答 3查看 42关注 0票数 1

表格

代码语言:javascript
复制
colorid -        1      2       3    4 
color            blue  yellow  green red 
currentcolor     yes    no     no    no

这是数据库。我有一个PHP代码,它给你一个表单,让你选择你想要成为当前的颜色。它提供了颜色选项。一旦您选择了颜色,例如,在本例中,如果您选择绿色并单击submit,那么它应该将当前颜色的值设置为yes,并自动将当前颜色的值更改为no...如何在SQL或php中实现这一点?现在我只有

代码语言:javascript
复制
update color (table) sent currentcolor = 'yes' where color = $info['color'] 

其将所选颜色的currentcolor _ color的值改变为yes,但仍然保持先前颜色的currentcolor _ color的值为yes。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-27 05:43:04

使用以下update语句来解决您的问题:

代码语言:javascript
复制
$sql = "update color
        set currentcolor = CASE
        WHEN color = '".$info['color']."' THEN 'yes'
        ELSE 'no'
        END" ;
票数 1
EN

Stack Overflow用户

发布于 2018-06-27 05:26:16

对于您当前的结构,您有两种可能性:

代码语言:javascript
复制
// set all colours to no before setting the current one:
update color set currentcolor = 'no'
// then
update color set currentcolor = 'yes' where color = $info['color']

代码语言:javascript
复制
// set those to NO, which are not the current colous
update color set currentcolor = 'no' where color != $info['color']

无论如何,我认为您最好将currentcolor存储在另一个表中,我们称其为meta

代码语言:javascript
复制
table META
item                value 
--------------------------
currentcolor        2
currentbackground   35
.
.
.
票数 0
EN

Stack Overflow用户

发布于 2018-06-27 05:20:39

将当前颜色的所有值设置为"no“,然后将新的颜色设置为yes。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51051418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档