如何比较不同表中的值并更改PHP中的输出?

时间:2017-10-25 01:55:39

标签: php mysql

我对PHP知之甚少,请原谅我的经验不足。这是我的问题。

我有3张桌子as seen here

我向用户提供了包含表LOCAIS和CORES的值的复选框。

如果选中,则将值发送到表INFO(我使用implode,这就是为什么您会看到包含多个数字的行)。

我需要做的是:

当从表INFO向用户输出数据时,我需要在表LOCAIS和CORES中更改LOCAL和COR列中各自值的值。

我不想更改数据库中的值,我只想根据ID更改输出,在这种情况下:

id

PS:表格INFO有更多列。每行都连接到一个用户ID,因此我可以过滤条目并将其显示给特定用户。

我尝试了许多不起作用的事情,但这可能是因为我缺乏经验。

那我怎么能这样做呢?

编辑1:我需要显示表格INFO行中的所有信息,并根据其他两个表格更改显示的值。因此,如果在表格INFO中,该行具有以下值:
“ID:1当地:1 Cor:2,3” 输出将是
“ID1,Local:”Brasil,Cor:Verde,Vermelho“。

1 个答案:

答案 0 :(得分:0)

info.local = locais.id = locais.local info.cores = cores.id = cores.cor

我假设当您选中复选框并将其插入数据库时​​,您将其合并为一个字符串?

更好的方法可能是调整数据库结构,以便将id链接到corvalues和local。

但是,如果你坚持这样做,

假设info.id = userid,您将为每个表拉出一个信息行。例如,在ID = 1的情况下,sql查询将是

SELECT LOCAL FROM INFO WHERE id = 1

之后,在PHP中获取结果。以前假设您将数字连接成一个字符串,

$localarray = explode(',', $output_from_mysql);

这会用逗号分解字符串并将它们放入数组中。我们现在有一个数组中每个本地id的值。

遍历此数组并使用下面此查询中的值来获取值。

SELECT LOCAL from LOCAIS WHERE ID = $current_array_value

希望我理解正确的问题:)