Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 值在下一个循环中重复 函数属性\u管理器(){ $checkattr=$this->connection->query(“从属性中选择*); 而($attrs=$checkattr->fetch_object()){ $id=$attrs->att\u gr\u id; $checkattrs=$this->connection->query(“从产品属性中选择*,其中att\u group=$id”); 而($values=$checkattrs->fetch_object()){ $valuez.=$values->att_name.,'; } $linkz_header=' 属性滴度 选项 韦特 '; $linkz.=' 。$attrs->att\u gr\u name. “.$valuez。” '; } 返回“”。$linkz_标题。$linkz.”; } }_Php_Mysql_While Loop - Fatal编程技术网

Php 值在下一个循环中重复 函数属性\u管理器(){ $checkattr=$this->connection->query(“从属性中选择*); 而($attrs=$checkattr->fetch_object()){ $id=$attrs->att\u gr\u id; $checkattrs=$this->connection->query(“从产品属性中选择*,其中att\u group=$id”); 而($values=$checkattrs->fetch_object()){ $valuez.=$values->att_name.,'; } $linkz_header=' 属性滴度 选项 韦特 '; $linkz.=' 。$attrs->att\u gr\u name. “.$valuez。” '; } 返回“”。$linkz_标题。$linkz.”; } }

Php 值在下一个循环中重复 函数属性\u管理器(){ $checkattr=$this->connection->query(“从属性中选择*); 而($attrs=$checkattr->fetch_object()){ $id=$attrs->att\u gr\u id; $checkattrs=$this->connection->query(“从产品属性中选择*,其中att\u group=$id”); 而($values=$checkattrs->fetch_object()){ $valuez.=$values->att_name.,'; } $linkz_header=' 属性滴度 选项 韦特 '; $linkz.=' 。$attrs->att\u gr\u name. “.$valuez。” '; } 返回“”。$linkz_标题。$linkz.”; } },php,mysql,while-loop,Php,Mysql,While Loop,这就是结果,因为您可以看到FARBE的值与Größe的值连接: 解决这个问题的正确方法是什么?如果我读对了,您只需要在初始循环中初始化变量 function attribute_manager() { $checkattr = $this->connection->query("SELECT * FROM attribute_grup"); while ($attrs = $checkattr->fetch_object()) { $id = $attrs->a

这就是结果,因为您可以看到FARBE的值与Größe的值连接:


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

如果我读对了,您只需要在初始循环中初始化变量

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>';

}
}

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

如果我读对了,您只需要在初始循环中初始化变量

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>';

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

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

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

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

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

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

试试
$linkz.=
不带点不带点它只给出第一个循环的一行我真的不知道你想要循环什么和不想要什么在你陷入严重麻烦之前,请仔细阅读。像
$id
这样的东西不应该出现在你的查询字符串中。试试
$linkz.=
不带点,它从第一个循环中只给出一行。我真的不知道你想循环什么,不想循环什么。在你陷入严重麻烦之前,请仔细阅读。像
$id
这样的东西不应该出现在你的查询字符串中。很好,这很有效,我不知道为什么我没有想到这一点,可能是因为现在是凌晨2:07,我太累了:/谢谢你,Rich,我会在几分钟后接受你的回答,到时候我会很好,这很有效,我不知道为什么我没有想到这一点,也许是因为现在是凌晨2点07分,我太累了:/谢谢你,里奇,我会在几分钟内接受你的回答,到时候我就可以了