サイトの登録数、レビュー投稿数、ポイント交換申請数の日にちごとの集計を取りたいのですが、うまくいかないのでご教授お願いします。
プルダウンメニューで、見たい月を選び、その月の稼働情報を表示させたいです。
投稿レビュー数はreview、登録情報はlogin、ポイント申請数はgt_grantというデータベースからそれぞれ呼び出したいと思っています。
日付はそれぞれdatetimeで登録してあります。
まずはレビュー数を呼び出そうとしているのですが、10月のレビュー数全部の数は呼び出せても、それをカレンダーの日にちと結びつけて日にちごとに集計する部分で、どう結びつければいいのかわかりません。
=================カレンダー==================
php
1 2$yea=$_REQUEST["year"];//年 3$mon=$_REQUEST["month"];//月 4 5$year=sprintf("%04d-",$yea); 6$month=sprintf("%02d",$mon); 7$date_y_m=$year.$month;//曖昧検索 8 9$data[]=""; 10$message[]=""; 11 12if ($year!="" || $month!=""){ 13 14$today_year = (int)$year;//文字列を数字に変換 15$today_month = (int)$month; 16 17if(checkdate($today_month, 1, $today_year)){//日付が正しいかチェック 18 19//カレンダー開始日(指定された年月の最初の日のYYYY-MM-DD形式) 20$startYmd = sprintf('%04d-%02d-%02d', $today_year, $today_month, 1); 21 22//カレンダー開始タイムスタンプ 23$start = strtotime($startYmd); 24 25//これに24時間ずつ加算し、1ヶ月分(月が同じ範囲)の日付の一覧を作成 26for ($t = $start; date('m', $t) == date('m', $start); $t += 60 * 60 * 24) { 27 28$data[] = $t;//1~31 チェックデートでfalseが出たら処理を打ち止め 29 30} 31 32}else{ 33$message="存在しない日付です。やり直してください"; 34}//if(checkdate($mon, 1, $y)) 35 36}else{ 37 38$message="年月日を選択して、表示ボタンを押してください"; 39 40}//if ($y!="" || $mon!="")
=============レビューが書かれた日にち呼び出し==========
php
1 2$count_rev_date = []; 3$record_rev_sql="SELECT * FROM review WHERE rev_date LIKE '$date_y_m%'"; 4$record_rev_stt=$dbh->prepare($record_rev_sql); 5$record_rev_stt->execute(); 6 7while($record_rev_result=$record_rev_stt->fetch()){ 8 9$count_rev_date[] = $record_rev_result["rev_date"]; 10} 11//rev_dateに日付が入っています。
================集計カレンダー表示===================
php
1<div class="admin_right"> 2<?php 3if(isset($date)){ 4?> 5<div class="running_info"> 6 7<p><?php print($today_year); ?>年<?php print($today_month); ?>の稼働情報</p> 8<ul class="running_ul_index"> 9<li>日付</li> 10<li>仮登録</li> 11<li>登録</li> 12<li>投稿レビュー数</li> 13<li>カード申請数</li> 14</ul> 15<?php 16 17foreach($data as $d_value){ 18 19$review_date=date("Y年m月d日" , $d_value); 20 21 22?> 23 24<ul class="running_ul"> 25<li> 26<?php print ($review_date); ?> 27</li> 28<li> 29 30</li> 31<li> 32 33</li> 34<li> 35 36</li> 37<li> 38<!--ここにレビュー数--> 39</li> 40</ul> 41 42<?php 43}//foreach($data as $d_value) 44?> 45 46</div><!-- running_info --> 47 48<?php 49}//if(isset($date)) 50?> 51 52</div><!-- admin_right -->
まだまだ途中の段階で中途半端な記述でわかりづらく申し訳ありません。
カレンダーの日にちと、その月のレビューを書いた日付をどう結びつければいいのかわからなくなってしまいました...。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/21 00:21
2016/10/21 00:27
2016/10/21 00:33
2016/10/21 00:36
2016/10/21 00:38
2016/10/21 00:46
2016/10/21 00:51
2016/10/21 15:50