当前位置:Gxlcms > PHP教程 > 有关问题未解决,接着提问!关于查询结果特殊显示的有关问题

有关问题未解决,接着提问!关于查询结果特殊显示的有关问题

时间:2021-07-01 10:21:17 帮助过:32人阅读

问题未解决,接着提问!关于查询结果特殊显示的问题!
原帖:http://topic.csdn.net/u/20120214/16/171276bf-16a7-45a3-8224-fea338db7ee0.html?1686623126

这个帖子不能再回复了,另开一贴:

数据库结构、字段如下图:


要想达到这样的显示效果:


论坛上 jordan102 朋友帮忙写了个查询过程,PHP文件代码如下:

PHP code
';
while($row = mysql_fetch_assoc($result)){

      echo '';
      echo "$row[y]";
      foreach(explode(',',$row['str']) as $v);
            echo "$v";
      echo "";

}
      echo "";
?>


运行结果不是我想要的,而是下面的结果:


显然数据没有全部列出,请教大家,到底哪里出错!
jordan102 朋友,还在吗?

------解决方案--------------------
数据格式变一下。试试看行不行。
sql语句改为:
select year(add_date) as y,group_concat(yc_jiage) as str,group_concat(day(add_date)) as ss from yc_jiage group by year(add_date)

PHP code
while($row=mysql_fetch_assoc($result)){
       $arr[$row[y]]=$row;
 } 

 foreach($arr as $k=>$v){
      $s_arr=explode(',',$v[str]);$n_arr=explode(',',$v[ss]);
      foreach($n_arr as $k1=>$n)
           $tmp[$k][$n]=$s_arr[$k1];
 }
 echo '';
 echo "";
 echo "";
 for($i=1;$i<=12;$i++) echo "";
 echo "";
 foreach($tmp as $k2=>$v){
     echo "";
     echo '';
     for($i=1;$i<=12;$i++){
           echo "";
     }
     echo '';
 }
 echo '
年\月{$i}月
'.$k2.'$v[$i]
';

人气教程排行