0

我试图显示具有规格的汽车列表:重量、长度、宽度。
一切都会在 foreach 和一段时间内,但我无法正常运行它......

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

和规格表:
idspec:1 spec:width
idspec:2 spec:weight
idspec:3 spec:length

我的代码

    $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 width:30
    idcar:2 width:20
    idcar:3 width:20
    idcar:4 width: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

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

    4

    1 回答 1

    2

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

    所有你需要的是...

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

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

    另外...如果您只想为那辆车提取规格...使用该while循环,那么您必须更改查询以接受第一个while循环中的变量,如果您知道我的意思

    于 2013-06-28T15:21:02.463 回答