function attribute_manager() {
$checkattr = $this->connection->query("SELECT * FROM attribute_grup");
while ($attrs = $checkattr->fetch_object()) {
    $id = $attrs->att_gr_id;
    $checkattrs = $this->connection->query("SELECT * FROM product_attribute WHERE att_group = $id");
    while ($values = $checkattrs->fetch_object()) {
            $valuez .= $values->att_name.', ';
    }

    $linkz_header = '<li class="table_header">
                            <div class="options_column"><strong>Attribute Titel</strong></div>
                            <div class="options_column">Optionen</div>
                            <div class="options_column">Werte</div>
                            </li>';
                    $linkz .= '<li>
                            <div class="options_column"><strong>'.$attrs->att_gr_name.'</strong></div>
                            <div class="options_column">
                                <a style="color:green;" href="?seite=shop&act=edit&id='.$products->id.'">Bearbeiten</a>
                                <a style="color:red;" href="?seite=shop&act=delete&id='.$products->id.'">Löschen</a>
                            </div>
                            <div class="options_column">'.$valuez.'</div>
                            </li>';
}
return '<ul id="posts_menu">'.$linkz_header.$linkz.' </ul>';

}
}


这是结果,因为您可以看到FARBE的值与Größe的值结合在一起:


解决此问题的正确方法是什么?

最佳答案

您需要在每次迭代中重置$valuez的值。

while ($attrs = $checkattr->fetch_object()) {
    $valuez = ""; // Add this line
    $id = $attrs->att_gr_id;

关于php - 值在下一个循环中重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17225788/

10-12 02:12