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的值一起加入:
解决这个问题的正确方法是什么?
答案 0 :(得分:2)
如果我正确读取这个,你只需要在初始循环中初始化变量......
while ($attrs = $checkattr->fetch_object()) {
$id = $attrs->att_gr_id;
$valuez = "";
这样就可以清除每次迭代。
答案 1 :(得分:1)
您需要在每次迭代中重置$valuez
的值。
while ($attrs = $checkattr->fetch_object()) {
$valuez = ""; // Add this line
$id = $attrs->att_gr_id;