需要按日期水平显示记录

阿卜杜勒·拉赫曼(Abdul Rahman)

我有以下带有数据的mysql表。带有数据的表如下图所示:

在此处输入图片说明

我想像这样在html表中显示记录:

在此处输入图片说明

虽然显示如下记录:

在此处输入图片说明

我有以下代码:

 <?php
 $year = intval($_POST['year']);
 $month = (intval($_POST['month']) < 10 && strlen($_POST['month']) < 2) ? '0'.intval($_POST['month']):intval($_POST['month']);
 $sql = "SELECT sno,file_path,bench_sno,causelist_date,date_entry 
         FROM phc_causelists 
         WHERE YEAR(causelist_date) = :year AND MONTH(causelist_date) = :month ORDER BY causelist_date DESC";
 $aryList = array(':year'=>$year,':month'=>$month);
 if($db->dbQuery($sql,$aryList)){
 ?>

 <strong>Causelists for the month of <?php echo($method->getMonthName(intval($month)).' '.intval($year)); ?> </strong>
 <table class="table table-bordered">
 <?php
 foreach($db->getRecordSet($sql,$aryList) as $row){
    ?>
      <tr>
        <td><?php echo($row['causelist_date']); ?></td>
        <td><?php if($row['bench_sno'] == '1'){ ?>
          <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['file_path']); ?>">Peshawar High Court</a>
          <?php } ?></td>
        <td><?php if($row['bench_sno'] == '2'){ ?>
          <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['file_path']); ?>">Abbottabad</a>
          <?php } ?></td>
        <td><?php if($row['bench_sno'] == '3'){ ?>
          <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['file_path']); ?>">D.I.Khan</a>
          <?php } ?></td>
        <td><?php if($row['bench_sno'] == '4'){ ?>
          <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['file_path']); ?>">Mingora</a>
          <?php } ?></td>
        <td><?php if($row['bench_sno'] == '5'){ ?>
          <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['file_path']); ?>">Bannu</a>
          <?php } ?></td>
      </tr>
    <?php
    }
    ?>
 </table>
 <?php
 }
  ?>
保罗·H

这可能有效。只需进行最小的更改,它就可以对日期进行分组,然后为每个日期循环。

<?php
foreach($db->getRecordSet($sql,$aryList) as $row){
    // build an array of dates 
    //   containing for each date an array of bench_sno
    $dates[$row['causelist_date']][$row['bench_sno']] = $row['filepath'];
}
foreach($dates as $date=>$row) {
?>
  <tr>
    <td><?php echo($date); ?></td>
    <td><?php if(isset($row['1'])){ ?> 
      <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['1']); ?>">Peshawar High Court</a>
      <?php } ?></td>
    <td><?php if(isset($row['2'])){ ?>
      <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['2']); ?>">Abbottabad</a>
      <?php } ?></td>
    <td><?php if(isset($row['3'])){ ?>
      <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['3']); ?>">D.I.Khan</a>
      <?php } ?></td>
    <td><?php if(isset($row['4'])){ ?>
      <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['4']); ?>">Mingora</a>
      <?php } ?></td>
    <td><?php if(isset($row['5'])){ ?>
      <a href="<?php echo($method->baseURL()); ?>/causeLists/<?php echo($row['5']); ?>">Bannu</a>
      <?php } ?></td>
  </tr>
<?php
}
?>

另外,我喜欢避免重复代码,并在这样的模板中使用替代控制语法:

<?php
foreach($db->getRecordSet($sql,$aryList) as $row) {
    // build an array of dates 
    //   containing for each date an array of bench_sno
    $dates[$row['causelist_date']][$row['bench_sno']] = $row['filepath'];
}
$bench_snos[
    '1' => 'Peshawar High Court',
    '2' => 'Abbottabad',
    '3' => 'D.I.Khan',
    '4' => 'Mingora',
    '5' => 'Bannu',
];
foreach($dates as $date=>$row) :
?>
  <tr>
    <td><?php echo $date ?></td>
    <?php foreach ($bench_snos as $no=>$bench_sno) : ?>
    <td><?php if (isset($row[$no])) : ?> 
      <a href="<?php echo $method->baseURL() ?>/causeLists/<?php echo $row[$no] ?>"><?php echo $bench_sno ?></a>
      <?php endif //isset ?>
    </td>
    <?php endfor //$bench_snos ?>
  </tr>
<?php endfor // $dates ?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要按日期水平显示记录

来自分类Dev

需要按连续日期将记录分组SQL

来自分类Dev

需要按日期对访问报告进行排序

来自分类Dev

需要按月更改开始日期

来自分类Dev

水平显示MySQL记录

来自分类Dev

需要按钮来显示和隐藏覆盖导航

来自分类Dev

需要帮助以显示记录

来自分类Dev

需要加入3张桌子。需要按日期时间字段订购并限制为 1

来自分类Dev

我需要按照状态ID按一定顺序搜索记录

来自分类Dev

我需要按照状态ID按一定顺序搜索记录

来自分类Dev

在python中使用datetime模块我需要按日期顺序对金额列进行排序

来自分类Dev

.Net Core 3.1。每日需要按项目嵌套嵌套数量显示

来自分类Dev

为什么我需要按两次以显示元素0?

来自分类Dev

我需要按钮提交

来自分类Dev

显示最旧或最新记录而不显示日期

来自分类Dev

我是否需要按时间顺序对日期进行排序才能使用pandas.DataFrame.ewm?

来自分类Dev

离子无限滚动垂直显示,需要水平显示

来自分类Dev

HighStocks需要显示类别而不是日期

来自分类Dev

在 MySQL 显示日期方面需要帮助

来自分类Dev

随处需要按名称命名文件

来自分类Dev

多个PIVOTS?每月需要按小时数

来自分类Dev

需要按住键盘键才能键入

来自分类Dev

需要按小时汇总,未识别$ avg

来自分类Dev

随处需要按名称命名文件

来自分类Dev

xslt:我需要按数字排序

来自分类Dev

超级键需要按下Fn键

来自分类Dev

合并记录以显示开始日期和结束日期SQL

来自分类Dev

需要水平显示循环中的单元格项

来自分类Dev

MaterialDatePicker显示当前日期,而不是需要的日期