ホームページ  >  記事  >  バックエンド開発  >  関連する質問が解決しない場合は、別の質問をしてください。クエリ結果の特殊な表示に関する問題

関連する質問が解決しない場合は、別の質問をしてください。クエリ結果の特殊な表示に関する問題

WBOY
WBOYオリジナル
2016-06-13 13:44:26856ブラウズ

質問が解決しないので、もう一度質問してください。クエリ結果の特殊表示について!
元の投稿: http://topic.csdn.net/u/20120214/16/171276bf-16a7-45a3-8224-fea338db7ee0.html?1686623126

この投稿にはもう返信できません。別の投稿を開く 1 つの投稿:

データベースの構造とフィールドは次のとおりです:


このような表示効果を実現するには:


上の友人 jordan102フォーラムがこれを書くのに協力しました。 クエリプロセス中の PHP ファイルコードは次のとおりです:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
mysql_connect('127.0.0.1','root','');
mysql_select_db('jiagedata');



$result=mysql_query("select year(add_date) as y,group_concat(yc_jiage) as str from yc_jiage group by year(add_date);") or die(mysql_error());

      echo '<table>';
while($row = mysql_fetch_assoc($result)){

      echo '<tr>';
      echo "<td>$row[y]</td>";
      foreach(explode(',',$row['str']) as $v);
            echo "<td>$v</td>";
      echo "<tr>";

}
      echo "</table>";
?>


実行結果は私が望むものではありませんが、次の結果:


明らかにすべてのデータがリストされているわけではありません。どこにエラーがあるのか​​教えてください。
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 コード
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 '<テーブル幅="800" algn="center" セルスペース=0>';
 echo "<tr>";
 echo "<td>年と月</td>";
 for($i=1;$i;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。