首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php -只显示一次日期

问Php -只显示一次日期
EN

Stack Overflow用户
提问于 2012-02-21 16:21:29
回答 3查看 86关注 0票数 1

我试着解决一个问题。我有一个索引页,用户输入开始和结束日期,然后按下发送列表,如下所示:

我想要的是显示这样的日期

代码语言:javascript
复制
  30191592 Izlesene.com izlesene_kanal_v4_360   1   
    30191592 Izlesene.com   izlesene_player_v4_240  1   
    30191592 Izlesene.com   player_mydonose 4   
    30191592 Izlesene.com   izlesene_sponsor_v4_360 16  
    30191592 Izlesene.com   izlesene_player_v4_360  32
    30191592 Izlesene.com   izlesene_cihan_v4   152
    30191592 Izlesene.com   izlesene_vodafone_v3    1052
    30191592 Izlesene.com   izlesene_sponsor_v4 3099    
    30191592 Izlesene.com   izlesene_kanal_v4   13727   
    30191592 Izlesene.com   izlesene_player_v4  2144704
    47335159 İzlesene Ntv   izlesene_player_v4  2546    
    47335159 Cihanhaber izlesene_cihan_v4   8794    2012-02-21
    30191592 Izlesene.com   izlesene_sponsor_v4 3099    
    30191592 Izlesene.com   izlesene_kanal_v4   13727
    30191592 Izlesene.com   izlesene_player_v4  2144704 
    47335159 İzlesene Ntv   izlesene_player_v4  2546    
    47335529 İzlesene Cihanhaber    izlesene_player_v4  2279    
    47335529 İzlesene Cihanhaber    izlesene_cihan_v4   8794    2012-02-20

我的意思是我只想展示一次约会。

代码语言:javascript
复制
while ($info = mysql_fetch_array($dbResult)) {
                                        $total+= $info['totalEvents'];
                                        echo "<tr>";
                                        echo "<td><input type=checkbox name='check1' id='check1' value='" . $info['eventCategory'] . "' onclick=recal(" . $info['totalEvents'] . ",this.checked) checked></td><td>" . $info['id'] . "      " . $info['name'] . "</td>";
                                        echo "<td>" . $info['eventCategory'] . "</td>";
                                        echo "<td><id='totalEvents'>". $info['totalEvents'] . "</td>";
                                           echo "<td>". $info['Date'] . "</td>";
                                    }



                                    echo "<td><b id='total'>" . $total . "</b></td>";

这是我的代码,可以有什么改变?

谢谢。

​

​

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-21 16:25:50

只需检查日期是否与之前的日期相同。你可以这样做:

代码语言:javascript
复制
$previousDate = '';
while ($info = mysql_fetch_array($dbResult)) {
                                        $total+= $info['totalEvents'];
                                        echo "<tr>";
                                        echo "<td><input type=checkbox name='check1' id='check1' value='" . $info['eventCategory'] . "' onclick=recal(" . $info['totalEvents'] . ",this.checked) checked></td><td>" . $info['id'] . "      " . $info['name'] . "</td>";
                                        echo "<td>" . $info['eventCategory'] . "</td>";
                                        echo "<td><id='totalEvents'>". $info['totalEvents'] . "</td>";
                                        if ($info['Date'] != $previousDate){
                                           echo "<td>". $info['Date'] . "</td>";
                                        } else {
                                           echo "<td></td>";
                                        }
                                        $previousDate = $info['Date'];
                                    }



                                    echo "<td><b id='total'>" . $total . "</b></td>";
票数 4
EN

Stack Overflow用户

发布于 2012-02-21 16:30:41

因此,如果我理解正确的话,那么您希望每个日期只显示一次。因此,如何将日期保存在某个缓冲区变量中,并检查下一个日期是否相同。就像这样。

代码语言:javascript
复制
$buff = "";

while ($info = mysql_fetch_array($dbResult)) {
  $total+= $info['totalEvents'];
  echo "<tr>";
  echo "<td><input type=checkbox name='check1' id='check1' value='" . $info['eventCategory'] . "' onclick=recal(" . $info['totalEvents'] . ",this.checked) checked></td><td>" . $info['id'] . "      " . $info['name'] . "</td>";
  echo "<td>" . $info['eventCategory'] . "</td>";
  echo "<td><id='totalEvents'>". $info['totalEvents'] . "</td>";
  if ($info['Date'] != $buff)
  {                                           
    echo "<td>". $info['Date'] . "</td>";
    $buff = $info['Date'];
  }
  else
  {                                           
    echo "<td></td>";
  }
}
echo "<td><b id='total'>" . $total . "</b></td>";
票数 1
EN

Stack Overflow用户

发布于 2012-02-21 16:31:11

只需几个技巧就可以完成您的需求。

在您的查询中添加:order by "date field name"。

然后将您的while代码替换为:

代码语言:javascript
复制
$tempDate;
while ($info = mysql_fetch_array($dbResult)) {
        if($tempDate == $info['totalEvents']) {
           //do that you want like merge the data of same date.
        } else {
          $tempDate = $info['totalEvents'];
          // create new row.
        }

     }

我想你可以在这个把戏下。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9374230

复制
相关文章

相似问题

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