【问题标题】:Display php result in an HTML table with specific format在具有特定格式的 HTML 表格中显示 php 结果
【发布时间】:2016-05-28 18:41:27
【问题描述】:

基本上这是我的数组

Array
(
    [0] => Array
        (            
            [mainProdName] => CellPhone           
            [mainproductname] => Array
                (
                    [0] => Array
                        (   
                            [subProdName] => TG8                           
                        )

                    [1] => Array
                        (  
                            [subProdName] => TG5                          
                        )

                )

        )

    [1] => Array
        (
            [mainProdName] => LapTop
            [mainproductname] => Array
                (
                    [0] => Array
                        (   
                            [subProdName] => TD9                          
                        )

                    [1] => Array
                        (                           
                            [subProdName] => TD7                            
                        )

                )

        )

    [2] => Array
        ( 
            [mainProdName] => Corn            
            [mainproductname] => Array
                (
                    [0] => Array
                        (                           
                            [subProdName] => SWEET CORN                            
                        )

                )

        )
)

我正在尝试在 HTML 表格中显示此结果

<table><tr>
    ?>
        for($j=0;$j<count($res);$j++)
        {
            ?><td>$res[$i].mainProdName}</td><?php
            for($k=0;$k<count($res[$i].mainproductname);$k++)
            {
                ?><td>$res[$i].mainproductname[$k].subProdName}</td><?php
            }
        }
    <?php
</tr></table>

为此我得到了这个。

----------------------------------------------------------------
CellPhone | TG8 | TG5 | LapTop | TD9 | TD7 | Corn | SWEET CORN  
----------------------------------------------------------------

基本上我需要以这种格式显示结果

-------------------------------------------------------------------
       CellPhone       |        LapTop          |       Corn
-----------------------|------------------------|------------------
   TG8     |    TG5    |    TD9    |     TD7    |    SWEET CORN  
-------------------------------------------------------------------

对于每个主要产品,相应的子产品列表应在下方单独显示。

【问题讨论】:

  • 这只是一个简单的 html 标记问题恕我直言。
  • MATAR 请检查下面的答案并检查哪一个适合您。

标签: php arrays loops html-table


【解决方案1】:

你可以试试这个——

$first_tr = $second_tr = "<tr>";

foreach($array as $result) {

    // Print the first columns of first row with colspan
    $first_tr .= "<td colspan='" . count($result['mainproductname']) . "'>" . $result['mainProdName'] . "</td>";

    // Loop through the sub-products and print them
    foreach($result['mainproductname'] as $name) {
        $second_tr .= "<td>" . $name['subProdName'] . "</td>";
    }

}

echo $first_tr . "</tr>" . $second_tr . "</tr>"; 

Demo

【讨论】:

    【解决方案2】:
     <table>
     <thead>
        <tr>
        <?php for($i=0;$i<count($res);$i++){ ?>
            <th><?php echo $res[$i].mainProdName;?></th>
        <?php } ?>    
        </tr>
     </thead>
     <tbody>
     <?php for($i=0;$i<count($res);$i++){ ?>
     <tr>
        <?php for($j=0;$j<count($res);$j++){ ?>
        <td><?php echo $res[$i]["mainproductname"]['subProdName'][$j]; ?></td>
        <?php } ?>
     </tr>
     <?php } ?>
     </tbody>
     </table>  
    

    【讨论】:

      【解决方案3】:

      请试试这个

      $html ="<table border='1'>";
      $html.="<tr>";
      $innerhtml="<tr>";
      foreach($arr as $key=>$valArr){
      
          $html.="<td>".$valArr['mainProdName']."</td>";
          if(count($valArr['mainproductname'])){
              $subValArr =array();
              foreach($valArr['mainproductname'] as $subKey => $subVals){
                  $subValArr[] = $subVals['subProdName'];
      
              }
              $subArrString = implode("|", $subValArr);
              $innerhtml.="<td>".$subArrString."</td>" ;
          }
      
      
      }
      $innerhtml.="</tr>";
      $html.=$innerhtml;
      $html.="</tr>";
      $html.="</table>";
      echo $html;
      

      输出:

      【讨论】:

        【解决方案4】:

        我使用这种格式以 html 表格格式显示 php 结果

        $con=mysql_connect("localhost","root");
        mysql_select_db("aggregate",$con);
        $q=mysql_query("SELECT ASCII('A');");
        echo "<h2>ASCII Function</h2>";
        echo "<br>";
        echo "<table border=1>";
            echo "<tr><th> ASCII Function</th></tr>";
        
        
        while($qq=mysql_fetch_row($q)){
        
            echo "<tr><td> ".$qq[0]. "</td></tr>";
        }
        echo "</table>";
        

        【讨论】:

        • 这无论如何都不能回答问题。
        猜你喜欢
        • 2017-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-06
        相关资源
        最近更新 更多