gpt4 book ai didi

php - 如果查询结果与另一个查询结果中的任何值匹配

转载 作者:行者123 更新时间:2023-11-29 08:26:25 26 4
gpt4 key购买 nike

我有两个生成面板 ID 的查询。一个查询仅生成与产品相关的面板 ID。另一个查询生成所有可用的面板 ID。

我试图通过复选框显示所有面板,但将相关面板显示为选中状态。我已将相关面板存储在 $panel_id 中,但是,以下代码似乎只循环一次,因为它只检查一个相关面板。我不知道我应该做什么。

//related panels
$panel_id = $row['panel_profile_id'];


/all panels
$result = mysqli_query($con,"SELECT * FROM panel_profile");

while($row = mysqli_fetch_array($result)) {
if($row['panel_profile_id'] == $panel_id) {
echo '<input type="checkbox" name="panel_profile[]" value="' . $row['panel_profile_id'] . '" checked="checked">' . $row['name'] . '<br />';
} else {
echo '<input type="checkbox" name="panel_profile[]" value="' . $row['panel_profile_id'] . '">' . $row['name'] . '<br />';
}
}

表结构

表格:panel_table

panel_profile_id | name
-----------------+-----
1 | flat

表:relationship_table

wood_species_id | panel_profile_id
----------------+-----------------
1 | 1

最佳答案

您可以通过使用左连接来选择应检查的 panel_ids,让数据库为您完成这项工作。

例如,

如果以下返回了您想要检查的面板配置文件列表,

  SELECT panel_profile_id FROM relationship_table WHERE wood_species_id=4

你可以使用

 SELECT panel_profile.panel_profile_id,
(products.panel_profile_id IS NOT NULL) AS checked
FROM panel_profile LEFT JOIN relationship_table
ON panel_profile.panel_profile_id=products.panel_profile_id
WHERE wood_species_id=4

此查询返回两列,即 panel_profile_id 和已检查列,如果应该检查,则返回 1,如果不应该检查,则返回 0。

关于php - 如果查询结果与另一个查询结果中的任何值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17797685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com