首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多维数组打印

问多维数组打印
EN

Stack Overflow用户
提问于 2014-07-18 18:31:33
回答 1查看 86关注 0票数 1

在过去的3到4天里,我非常努力地显示这个多维数组,但没有结果。

我所需要做的就是显示如下所示:

carName:

carImage:

天数:

金额:不合格//这是我面临的问题,以显示所有的日子和金额与具体的car..One汽车将有几天和数额为每天报价。

//请看我的代码并帮助..。谢谢

代码语言:javascript
复制
<?php
    mysql_select_db($database);

    $query_showall = "SELECT rental.*,
                             car_name.*,
                             gallery.*,
                             car_make.* 
                        FROM rental,
                             car_name,
                             gallery,
                             car_make 
                       WHERE car_name.carName_id = gallery.carName_id 
                         AND car_name.carMake_id = car_make.carMake_id
                         AND rental.carName_id   = car_name.carName_id 
                    GROUP BY rental.carName_id";

    $result_showall = mysql_query($query_showall) or die(mysql_error());

    while($row_showall = mysql_fetch_array($result_showall)) {
        $carMake_all = $row_showall['carName'];

        $carmake_1[$row_showall['carName_id']][] = $row_showall;          
    }                                                                   

    foreach($carmake_1 as $make_1=>$name_1) {
        foreach($name_1 as $n_1) {
            echo $n_1['carName'].'<br/>'; 
            echo $n_1['gallery'].'<br/>';

            /* I need to loop through the rental table 
               to retrieve num of days and amount for 
               each car here.. */
            echo $n_1['rental_days'].'<br/>';
            echo $n_1['rental_amount'].'<br/>';     
        }                                                 
    }                                                  
?>                                              

编辑没有组,但我如何阻止carName和imageName不重复?

代码语言:javascript
复制
    <?php
 mysql_select_db($database);


 $query_showall="SELECT rental.*,car_name.*,gallery.*,car_make.* FROM rental,car_name,gallery,car_make WHERE car_name.carName_id=gallery.carName_id AND  
     car_name.carMake_id=car_make.carMake_id   AND rental.carName_id=car_name.carName_id ORDER BY rental_days ASC";



$result_showall=mysql_query($query_showall)or die(mysql_error());
  while($row_showall=mysql_fetch_array($result_showall))
  {
      $carMake_all=$row_showall['carName'];
      $carmake_1[$row_showall['carName_id']][]=$row_showall;

  }                                                                 


            foreach($carmake_1 as $make_1=>$name_1)

                   {

            foreach($name_1 as $n_1)

                     {

                          echo $n_1['carName'].'<br/>'; 
                          echo $n_1['gallery'].'<br/>';
                          echo $n_1['rental_days'].'<br/>';
                          echo $n_1['rental_amount'].'<br/>';


                 }

                  }   

?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-18 19:19:22

好吧,我试试看。我要做的是在尝试将数组转储出来之前重新构建数组,这样您的所有数据都按照您希望它显示的方式组织起来,这样在前端的每一步都只能显示您想要的内容。

此代码将使用您的SQL语句而不使用group by,正如您所说的,该语句包含所有数据。

代码语言:javascript
复制
// Start with an empty array...
$cars = array();

// Loop over all your results
while($row_showall = mysql_fetch_array($result_showall)) {
    // Set name, if the ID comes up again, it will be reset but won't hurt anything
    $cars[$row_showall['carName_id']]['name']    = $row_showall['carName'];
    // Set gallery, if the ID comes up again, it will be reset but won't hurt anything
    $cars[$row_showall['carName_id']]['gallery'] = $row_showall['gallery'];

    // Now, we add a new property called 'details' and put a new array in...
    $cars[$row_showall['carName_id']]['details'][] = array(
        // Storing a unique day
        'days'   => ['rental_days'],
        // And a unique amount
        'amount' => ['rental_amount']
    );
}

// Loop over each entry in our array...
foreach($cars as $car) {
    // Print out the name, once
    echo $car['name'] . '<br />';
    // Print out the gallery, once
    echo $car['gallery'] . '<br />';

    // Loop over all the details...
    foreach($car['details'] as $detail) {
        // Print out each day
        echo $detail['days']  . '<br />';
        // Print out each amount
        echo $detail['amount']  . '<br />';
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24831592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档