amuns:code

自作ソフトやプログラミング情報など
Blog
新Amuns開発記
Twitter
Amunsつぶやき
 

Qtonia応用2

Googleチャートを使わずに結果を表示する

まずはサンプルを御覧下さい。
ホームページについて 回答結果

このようにGoogle Chartを使用せずにグラフの表示も可能です。

やり方ですが、以下のファイルを変更します。
・アンケート結果画面
 /Qtonia/qt/qtq.html

中身をすべて以下に変更してください。

<?php // ========= 著作権ここから=========== ?>
<a href="http://www.amunsnet.com/" target="_blank"><div style="font-size:85%">Powered by Qtonia</div></a>
<?php // ========= 著作権ここまで=========== ?>

<br />
<br />

<?php if (count($data["datas"])<=0) { ?>
まだ設問は登録されていません
<?php } ?>

<?php foreach($data["datas"] as $idx => $wd){ ?>

<?php // ========= 設問ここから=========== ?>
<div class="mds2">設問 <?php e($wd["qsetsu"]); ?></div>
<div style="text-align:right;"><a href="#top">▲上へ</a></div>

<?php // ========= 設問ここまで=========== ?>
<br />
<?php // ========= 数値結果ここから=========== ?>
<table border="1">

<?php foreach($wd["rslt"] as $ky => $vl){ ?>
<tr>
<td>[<?php e($ky+1); ?>]</td><td><?php e($vl['kai']); ?></td><td align="Right"><?php e(number_format($vl['cnt'])); ?>/<?php e(number_format($vl['sum'])); ?></td>
<td align="Right"><?php e(per($vl['cnt'], $vl['sum'])); ?>%</td>
<td><div class="progress-container" style="width: 150px;"><div style="width: <?php e(per($vl['cnt'], $vl['sum'])); ?>%; background: #0099ff;"></div></div></td>
</tr>
<?php } ?>

</table>
<?php // ========= 数値結果ここまで=========== ?>

<?php // ========= グラフここから=========== ?>
<?php if (strlen($wd["graph"]) > 0) { ?>
<?php //print $wd["graph"]; ?>
<?php } ?>
<?php // ========= グラフここまで=========== ?>

<br />
<br />
<br />
<?php } ?>

次に以下のファイルのHEADタグに、CSSを追加します。
 /Qtonia/qta.php

<style TYPE="text/css">
<!--
div.progress-container {
  border: 1px solid #ccc;
  width: 100px;
  margin: 2px 5px 2px 0;
  padding: 1px;
  background: white;
}

div.progress-container > div {
  background-color: #ACE97C;
  height: 12px
}
div.progress-container div {
  background-color: #ACE97C;
  height: 12px
}

-->
</style>

CSSなどで色々とカスタマイズ可能です。
(試してはいませんが、jQueryなどでも表示が可能かと思います)
ご要望はご連絡ください。

セッションを無効にする

Qtoniaではセッションを使用した二重回答防止機能がついています。

PHPの「session_start();」をかけない場合や、携帯などでセッション有効にできない場合は、管理画面より無効にしてください。
(アンケートに回答した際に「セッションが有効ではありません」と出た場合は、無効にしてください)

同じアンケートでHPページと携帯ページを分ける方法

まずはサンプルを御覧下さい。
Clibor 回答結果
Clibor 回答結果(携帯版)

上記はページは違いますが、同じアンケート結果を表示しています。

方法ですが、最初からある以下のページをPC版とします。
 /Qtonia/qtq.php
 /Qtonia/qta.php

次に携帯用のPHPファイルを用意します。
qtq.phpとqta.phpをファイルコピーし、リネームしてください。
 /Qtonia/qtqm.php
 /Qtonia/qtam.php

あとはテンプレートも携帯版を用意します。
最初からある以下のテンプレートをPC版とします。
 /Qtonia/qt/qta.html
 /Qtonia/qt/qtq.html

次に携帯用のテンプレートファイルを用意します。
qta.htmlとqtq.htmlをファイルコピーし、リネームしてください。
 /Qtonia/qt/qtam.html
 /Qtonia/qt/qtqm.html

最後に以下のファイルの中身を編集します。

/Qtonia/qtqm.php

// テンプレートファイルの指定(Def=qtq.html)
define( "QT_TEMPLATE", 'qtqm.html');
// アンケート結果へのURL(Def=pta.php)
define( "QT_ANS", 'qtam.php');

/Qtonia/qtam.php

// テンプレートファイルの指定(Def=qta.html)</div>
define( "QT_TEMPLATE", 'qtam.html' );

携帯ページは以下のURLになります。
 http://サーバドメイン/Qtonia/qtqm.php
 http://サーバドメイン/Qtonia/qtam.php

あとはそれぞれのテンプレートを編集してください。
色々と応用可能です。