首先,请原谅丑陋的方法。我很累,现在我想不出另一种方法。
所以,我的问题是:我的更新日志工作正常,直到昨天。我整夜都在和它斗争,似乎无法解决它 它会正确显示所有内容,直到它达到2014年2月20日,然后它才重复它(见截图)
这是我的代码(再次,原谅我)
$select = $mtgdb->query("SELECT `timewhen` FROM `changelog` GROUP BY FROM_UNIXTIME(`timewhen`, '%d%m%Y') ORDER BY `timewhen` DESC");
while($row = $mtgdb->fetch_row($select)) {
?><li><?php echo date('d/m/Y', $row['timewhen']);?><ul><?php
$selectContent = $mtgdb->query("SELECT `content` FROM `changelog` WHERE FROM_UNIXTIME(`timewhen`, '%d%m%Y') = ".date('dmY', $row['timewhen'])." ORDER BY `timewhen` ASC");
while($row2 = $mtgdb->fetch_row($selectContent)) {
?><li><?php echo $mtg->format($row2['content']);?></li><?php
}
?></ul></li><?php
}
的信息:
fetch_row()= mysqli_fetch_assoc()
function format($str, $dec = 0) {
return is_numeric($str)? number_format($str, $dec) : stripslashes(htmlspecialchars($str));
}
现在,它显示正常,直到它遇到问题我显然无法解释清楚(再次,累了,对不起!)
更改日志屏幕截图:http://screencast.com/t/Hr45QsDe3QB
数据库摘录截图:http://screencast.com/t/PCuk0XJ8e6
表格结构:
CREATE TABLE `changelog` (
`id` int(11) not null auto_increment,
`timewhen` bigint(25) not null default '0',
`content` text not null,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
答案 0 :(得分:0)
我自己设法解决了这个问题。 对于任何想知道如何做的人。我只是更改了选择查询
$select = $mtgdb->query("SELECT FROM_UNIXTIME(`timewhen`, '%d/%m/%Y') AS `datestamp` FROM `changelog` GROUP BY FROM_UNIXTIME(`timewhen`, '%d%m%Y') ORDER BY `timewhen` DESC");
while($row = $mtgdb->fetch_row($select)) {
?><li><?php echo $row['datestamp']; ?><ul><?php
$selectContent = $mtgdb->query("SELECT `content` FROM `changelog` WHERE FROM_UNIXTIME(`timewhen`, '%d/%m/%Y') = '".$row['datestamp']."' ORDER BY `id` ASC");
while($row2 = $mtgdb->fetch_row($selectContent)) {
?><li><?php echo $mtg->format($row2['content']); ?></li><?php
}
?></ul></li><?php
}