我在我的MySQL表中有一个记录,类似于:
/T1582-1995商业商品的商品商品、金融、商业、金融、商业、金融等行业的商品、金融、金融等行业的产品、商品、金融等
1
2
3
4
5
6
我想把它展示在
2013-01-31
一个
B
2013-01-30
C
D
2013-01-29
E
F
我可以按组显示上述情况,但不能按组添加分页。
如果有人能帮我如何在组中添加分页。
发布于 2013-10-19 12:23:21
你可以这样做:
while( $row = $query_prepared->fetch( PDO::FETCH_ASSOC ) )
{
if( $date <> $row['postdate'] )
{
echo '<br>' ,$row['postdate'];
}
$date = $row['postdate'];
echo '<br>' ,$row['Postcontent'];
}不,不要将GROUP BY放在SQL中,而是使用ORDER BY postdate DESC或ASC。
这里有一个仅仅是为了理解的例子:
$testData = array
(
array('1','A','2013-01-31'),
array('2','B','2013-01-31'),
array('3','C','2013-01-30'),
array('4','D','2013-01-30'),
array('5','E','2013-01-29'),
array('6','F','2013-01-29')
);
$date = '';
foreach( $testData as $data )
{
$row = array();
list( $row['d'] ,$row['Postcontent'] ,$row['postdate'] ) = $data;
if( $date <> $row['postdate'] )
{
echo '<br>' ,$row['postdate'];
}
$date = $row['postdate'];
echo '<br>' ,$row['Postcontent'];
}这将产生以下结果:
2013-01-31
A
B
2013-01-30
C
D
2013-01-29
E
F发布于 2013-10-19 13:27:57
那这个呢?
确保在后期(postdata,Postcontent)建立索引,以获得覆盖索引。
注意:有些人会认为这是错误的,因为您现在用SQL格式化(),但是使用这种方法可以获得更干净的客户端代码。
运行此查询。
SELECT
postdate
, GROUP_CONCAT(Postcontent SEPARATOR '<br />') 'postcontent_formatted'
FROM
your_table
GROUP BY
postdate DESCPHP代码
<?php
while( $row = $query_prepared->fetch( PDO::FETCH_ASSOC ) ) {
echo $row['postdate'] . '<br />';
echo $row['postcontent_html_formatted'] . '<br />';
}
?>https://stackoverflow.com/questions/19465101
复制相似问题