【问题标题】:convert rows to columns php is it possible?将行转换为列 php 可能吗?
【发布时间】:2021-04-14 04:27:44
【问题描述】:

我想将 2 列(openday,school_name)分成 1 行并将其打印为表格。

我想像想要的表格一样打印出来。

有可能吗?

将行转换为列 php 可以吗?

如果可以,请详细说明

我的代码是

<?php
$SQL= "SELECT Concat_ws('\n' openday,'', school_name) AS school_column, supply_name,score  from result ";

$grouped = [];
$columns = [];    
 
$resultObject = $result = mysqli_query($conn, $SQL);
foreach ($resultObject as $row) {
$grouped[$row['supply_name']][$row['school_column']] = $row['score'];
$columns[$row['school_column']] = $row['school_column'];
}
 
sort($columns);
$defaults = array_fill_keys($columns,'-');
array_unshift($columns, 'school_column');
 
?>
 
 <body>
 
<table id="example" class="display" style="width:100%" align="center">
  <thead>
  
<?php
 
  While($result = mysqli_fetch_array($resultObject));
{
    echo "<tr>
     <td>supply_name</td> 
    <td> ".$row['school_column']." </td>
    </tr>";
}
?>
  </thead>
 
<tbody>
 
<?php
 
  While($result = mysqli_fetch_array($resultObject));
{
    echo "<tr>
    <td> ".$row['supply_name']." </td>
    <td> ".$row['score']." </td> 
   
    </tr>";
}
 
?>
</tbody>
</table>
</body>

【问题讨论】:

    标签: php datatables


    【解决方案1】:
    <?php
    $SQL= "SELECT Concat_ws('\n' openday,'', school_name) AS school_column, supply_name,score  from result ";
    
    $grouped = [];
    $columns = [];    
     
    $resultObject = $result = mysqli_query($conn, $SQL);
    foreach ($resultObject as $row) {
    $grouped[$row['supply_name']][$row['school_column']] = $row['score'];
    $columns[$row['school_column']] = $row['school_column'];
    }
     
    sort($columns);
    $defaults = array_fill_keys($columns,'-');
    array_unshift($columns, 'school_column');
     
    ?>
     
     <body>
     
    <table id="example" class="display" style="width:100%" align="center">
      <thead>
      
    <?php
     
      while($result = mysqli_fetch_array($resultObject))
    {
        echo "<tr>
         <td>openday</td> 
        <td> school_name </td>
        </tr>";
    }
    ?>
      </thead>
     
    <tbody>
     
    <?php
     
      while($result = mysqli_fetch_array($resultObject))
    {
        echo "<tr>
        <td colspan='2'> ".$row['supply_name']." </td>
        <td> ".$row['score']." </td> 
       
        </tr>";
    }
     
    ?>
    </tbody>
    </table>
    </body>
    

    【讨论】:

    • 我很抱歉我没有解释。我想看附图,supply_name 和 score 必须一起出现在表格中。
    • 您可以在第一个 td 元素中使用 colspan='2' 属性。以上编辑。
    • 谢谢 Fakt309 。但我没有得到答案
    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 2014-02-28
    • 2018-06-01
    • 2013-01-30
    • 2013-11-27
    • 2020-10-22
    • 2019-09-23
    • 1970-01-01
    相关资源
    最近更新 更多