集計については、get_comments 関数で全コメントを取得し、ループ処理を行なって、男女のそれぞれの数を集計するか、知識があるなら男女のそれぞれの数をSQLで取得してしまっても良いです。
円グラフについては、代表的なものとしては、Google Charts ですが、その他、描画できる Javascript のライブラリなどもありますので、試してみてください。
世話役様
ご返信ありがとうございます!
PHPはかなり初心者ですが、いただきました内容を元に進めてみたいと思います。
結果は改めてご報告させていただきます。
本当にありがとうございました!
他の作業に追われ、ご報告が遅くなってしまいました…。
折角ご返信頂いたにも関わらず申し訳ございません。
取り急ぎ教えて頂いたget_comments関数を使用し、各項目の数値を取得しました。
<?php
$sex_count_men = get_comments (
array (
'post_id' => $post->ID,
'meta_key' => 'sex',
'meta_value' => 'men',
'count' => true
));
$sex_count_women = get_comments (
array (
'post_id' => $post->ID,
'meta_key' => 'sex',
'meta_value' => 'women',
'count' => true
));
$sex_count_other = get_comments (
array (
'post_id' => $post->ID,
'meta_key' => 'sex',
'meta_value' => 'other',
'count' => true
));
$sex_count_noselect = get_comments (
array (
'post_id' => $post->ID,
'meta_key' => 'sex',
'meta_value' => '選択してください',
'count' => true
));
$sex_count_private = $sex_count_other+$sex_count_noselect;
?>
ただ、これらの数値を使用してグラフを作成するまでの流れが全く理解できておりません。
Google Chartで実装できそうな気がしているのですが…。
どなたかお知恵をお借りできませんでしょうか。
何卒よろしくお願い申し上げます。
http://yohshiy.blog.fc2.com/blog-entry-195.html
上記を元に、Google Chartのコードを作成してみました。
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChartSamplePie);
function drawChartSamplePie() {
var data = google.visualization.arrayToDataTable([
['男女比', '(%)'],
['男性', $sex_count_menの値を入れたい],
['女性', $sex_count_womenの値を入れたい],
['非公開', $sex_count_privateの値を入れたい],
]);
var options = {
title: '【口コミ投稿の男女比】',
is3D: true
};
var chart = new google.visualization.PieChart(document.getElementById('gct_sample_pie'));
chart.draw(data, options);
}
</script>
<div id="gct_sample_pie" style="width: 400px;"></div>
「男性」「女性」「非公開」それぞれに数値を代入したいのですが
どのように記述すればよろしいでしょうか?
初心者でご迷惑をお掛けします…何卒よろしくお願い申し上げます。
こんにちは
値の取得と表示が同じphpで、JavaScriptを出力する前に値が取得できている前提ですが、以下のように記述したらうまく行く気がします。
['男性', <?php echo $sex_count_men;?>],
['女性', <?php echo $sex_count_women;?>],
['非公開', <?php echo $sex_count_private;?>],
munyagu様
この度は検証いただき、誠にありがとうございます。
いただきましたコードにて確認したところ、無事表示することができました!!!
1か月以上悩んでおりましたので、表示されたときは思わず泣きそうになりました。
これもひとえにmunyagu様、jim912様のおかげと大変感謝しております。
初心者に長々とお付き合いいただき本当にありがとうございました。
重ねて御礼申し上げます。