我在显示数据时遇到问题。我有以下数据
filter_name filter_value
Hard Drize Size 16GB
Hard Drize Size 32GB
Screen Size 7''
Screen Size 8''
我想像这样呈现它。
Hard Drize Size
16GB
32GB
Screen Size
7''
8''
我想要在我的 php 代码中检查 filter_name 是否在 $temp 数组中,如果不是,则将其添加到 $temp 数组中,这样就不会导致重复条目。我现在遇到的问题是,当我在循环中使用相同的数据进行第二次 foreach 时,我没有得到任何数据,而且我的 sql 是正确的。所以我不知道如何输出这些值。对于第二个 foreach,它只打印出第一个 $filter_name["filter_name"] 等等。
php:
if($stmt->rowCount() > 0)
{
$filters = "<div class=\"filters\">
<div class=\"apply-filters\">Filters</div>";
$temp = array();
$stmt->fetch(PDO::FETCH_ASSOC);
foreach($stmt as $filter_name)
{
if(!in_array($filter_name["filter_name"], $temp))
{
$temp[] = $filter_name["filter_name"];
$filters .= "<div class=\"filter-header\">".$filter_name["filter_name"]."</div>";
//second loop here doesn't work with the same data.
// test if filter_name["filter_name"] == second loop second_loop["filter_name"]
// ten write out second_loop["filter_value"] e.g.
foreach($stmt as $filter_value)
{
if($filter_name["filter_name"] == $filter_value["filter_name"])
{
$filters .= $filter_value["filter_value"] ."<br />";
}
}
}
}
$filters .= "</div>";
}