<?php 
$result = mysql_query('SELECT * FROM `t_w` ORDER BY time DESC');
while($row = mysql_fetch_array($result)){
?><div id="log">
<p><?php echo $row['title']; ?></p>
<p><?php echo gmdate('Y-n-j', $row['time']); ?></p>
</div>
<?php } ?>输出的结果为:<div id="log">
<p>标题666</p>
<p>2015-10-8</p>
</div><div id="log">
<p>标题999</p>
<p>2015-10-7</p>
</div><div id="log">
<p>标题777</p>
<p>2015-10-6</p>
</div><div id="log">
<p>标题222</p>
<p>2015-10-6</p>
</div><div id="log">
<p>标题111</p>
<p>2015-10-6</p>
</div><div id="log">
<p>标题333</p>
<p>2015-10-6</p>
</div>
输出的结果有4条时间是2015-10-6我想把同一天(2015-10-6)的数据放在同一个div内,最终想实现的的结果是这样:<div id="log">
<p>标题666</p>
<p>2015-10-8</p>
</div><div id="log">
<p>标题999</p>
<p>2015-10-7</p>
</div><div id="log">
<p>标题777</p>
<p>2015-10-6</p>
<p>标题222</p>
<p>2015-10-6</p>
<p>标题111</p>
<p>2015-10-6</p>
<p>标题333</p>
<p>2015-10-6</p>
</div>
请问该怎么实现这种效果?

解决方案 »

  1.   


    <?php
    //首先取出数据并拼接为数组,在进行下面的操作//求重复数据对应的个数
    $a=array("Cat","Dog","Horse","Dog");
    $arr = array_count_values($a);
    $new = "[";
    $i = 1;
    foreach ($arr as $key => $value) {
    echo $value."<p>";
    // var_dump($nArr);?
    if($i == 1){
    $new .= $value;
    }else{
    $new .= ",".$value;
    }
    $i++;
    }
    $new .= "]";
    $new = json_decode($new);
    print_r($new); //拼接数据库的数据并返回了每种的对应数目  要排序
    $n = 0;
    $i = 1;
    //循环输出
    while (这里是数据库的数据) {
    if($new[$n] == 1){
    //这里写你要写的一行
    echo "<div><p>".$xxx."</p></div>";
    }else{
    if($i == 1){
    echo "<div>";
    echo "<p>".$xxx."</p>";
    // $i++;
    }else{
    echo "<p>".$xxx."</p>";
    $i++;
    }
    if($i == $new[$n]){
    echo "</div>";
    $i = 1;  //重置i
    $n++; //当相等的时候代表一个结束了,$n自增进行下一个
    }
    }
    }
    ?>你可以试下