繁体   English   中英

foreach里面虽然循环不起作用

[英]foreach inside while loop not work

我试图显示一系列规格的汽车:重量,长度,宽度。
一切都会在一个foreach里面,但在一段时间内,但我无法正常运行...

我的桌子
汽车:
idcar:1 /宽度:30 /长度:10 /重量:300
idcar:2 /宽度:20 /长度:12 /重量:210
idcar:3 /宽度:20 /长度:21 /重量:230
idcar:4 /宽度:40 /长度:11 /重量:210

和规格表:
idspec:1规格:宽度
idspec:2规格:重量
idspec:3规格:长度

我的代码

    $idcar = $_GET['idcar'];
    $resultcarfirst = mysqli_query($connecDB,"select * from products order by (case idcar when $idcar then 0 else idcar end), $idcar asc");
    $resultspec = mysqli_query($connecDB, "SELECT * FROM specs ORDER BY idspec");
    
    while($rowspec = mysqli_fetch_array($resultspec)){
            echo '<div><h1>'.$rowspec["spec"].'</h1><br/>';
    
            $arraycars = array();
            while($rowcar = mysqli_fetch_array($resultcarfirst))
            $arraycars[] = $rowcar;
            foreach($arraycars as $rowcar){
                echo '<p>idcar:'.$rowcar['idcar'].' '.$rowspec['spec'].': '.$rowcar[$rowspec['spec']].'</p>';
            }
    
            echo '</div><br/>';
        }
    

    输出将是:
    宽度
    idcar:1宽度:30
    idcar:2宽度:20
    idcar:3宽度:20
    idcar:4宽度:40

    重量
    idcar:1重量:300
    idcar:2重量:210
    idcar:3重量:230
    idcar:4重量:210

    长度
    idcar:1长度:10
    idcar:2长度:12
    idcar:3长度:21
    idcar:4长度:11

    谢谢你,我希望我很清楚。

    你为什么要这样做..??

    所有你需要的是...

        $arraycars = array();
        while($rowcar = mysql_fetch_array($resultcarfirst)){
        echo '<p>idcar:'.$rowcar['idcar'].' '.$rowspec['name'].':    '.$rowcar[$rowspec['spec']].'</p>';
        $arraycars[] = $rowcar;}
    

    除非我完全误解你想做什么。

    另外......如果你想只为那辆车拉sspec ......那么while循环,你必须改变你的查询以接受来自第一个while循环的变量,如果你知道我的意思

    暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM