我试着解决一个问题。我有一个索引页,用户输入开始和结束日期,然后按下发送列表,如下所示:
我想要的是显示这样的日期
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我的意思是我只想展示一次约会。
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>";这是我的代码,可以有什么改变?
谢谢。

发布于 2012-02-21 16:25:50
只需检查日期是否与之前的日期相同。你可以这样做:
$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>";发布于 2012-02-21 16:30:41
因此,如果我理解正确的话,那么您希望每个日期只显示一次。因此,如何将日期保存在某个缓冲区变量中,并检查下一个日期是否相同。就像这样。
$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>";发布于 2012-02-21 16:31:11
只需几个技巧就可以完成您的需求。
在您的查询中添加:order by "date field name"。
然后将您的while代码替换为:
$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.
}
}我想你可以在这个把戏下。
https://stackoverflow.com/questions/9374230
复制相似问题