0
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 的值连接: 在此处输入图像描述

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

4

2 回答 2

2

如果我没看错,您只需要在初始循环中初始化变量...

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

这样,每次迭代都会清除。

于 2013-06-21T00:06:18.077 回答
1

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

while ($attrs = $checkattr->fetch_object()) {
    $valuez = ""; // Add this line
    $id = $attrs->att_gr_id;
于 2013-06-21T00:06:36.530 回答