過去ログ NO.1166617828
□ ひろたか [2006年12月18日18時10分]NXerさんへ たびたび投稿させて頂きます。 当方が現在考えているサイトとは別に姉妹サイトとしてYES NO サイトをあんQを使わせて頂き考えています。 具体的には、 現在のあんQはアンケート項目はアンケート投稿者が自由に設定でき、なおかつ項目の追加を可にしておけば項目の追加が出来るのですが、その箇所をYESかNOが事前に入力されていて当管理者しか変更できないように出来ますでしょうか? アンケートの投稿者はアンケートの質問内容いわゆるアンケートテーマのみ入力できアンケート項目はYESとNOのみのアンケート主体です。 宜しくお願いします。
□ NXer [2006年12月19日21時34分] 多分こういう感じでしょうか。NXerです。
ただし、あんQの特色であるjavascriptの関数という荒技(あらわざ)を 845行の後に続く数行では一切使いません。
感じ方、態度など明確に分けにくいものを評価することもあるかもわかりませんから、 yes/noの2者択一を改め、dk(わからない)も含めて「4択」にしてあります。
どのような変更をしているかメモを書きました。エラーの発生時に参考に してください。更なる変更も可能と思います。
-------------------------------- 835 # print "<form action='$script' method=POST onSubmit='return lock()' >\n<table border>\n"; print "<form action='$script' method=POST >\n<table border>\n"; ---------------------------------- 835のコメント化ではlock()関数の削除をしています。
次のコメント化では、value_plus()関数など項目登録機能を無効にしています。 ----------------------- 845 print "<tr><td><b>アンケートテーマ</b>:</td><td><input size=50 name=subject><br>例)あなたの使っているOSは? 等</td></tr>\n"; #■------------------------------------- # print "<tr><td>投票項目:</td><td><select name=anq_view onChange='mod(this)'>\n"; # for ($i = 0; $i < 10; $i++) { if (! $i) { print "<option>現在設定されている項目はありません"; } else { print "<option>"; } } 次の行まで#コメント化もしくは削除 #■------------------------------------------------- 862 print "<tr><td>重複投票:</td><td>< --------------------------------------------------
次にスクリプトにあたかも項目入力があったかのように915の挿入を します。これで916以下が実行されます。 -------------------------------- 915 $in{'content'}="dummy"; ----------------------------- 916 if ($in{'content'}) {
このままでは dummyが項目に1ヶ入りますので、選択項目を設定します。 --------------------- 920 foreach (@cont) { ------------------------ {$cont[0]='yes';} {$cont[1]='yes & no';} {$cont[2]='no';} {$cont[3]='dk';} ------------------------ 925 $val = "$no\,$_\,0\,$colsmp[$c]\,\n"; -----------------------
@cont、これはperlの配列変数です。一つ一つの要素は、$cont[i]という 引数付きの文字変数にその値が格納されています。925では省略形の$_に なっています。
最後にperlでは、12345が45312などの順になって記録されます。この順番 を制御するのはサーバ任せです。yes〜dk の設定順にソートします。 -------------------------- 236 #$key{$_} = $point; $key{$_} = $num;#絶対yes~分からないdkの順番継承 ---------------------------------------------------
項目追加スクリプトの削除か無効化をします。 ----------------------------- 375 #print "■該当する項目が無い場合は追加して下さい。<br>\n"; 〜 389 #print "<input type=reset value=' 消 去 ' class=btn></td></tr></table>\n"; 390 #print "</form></table>\n"; ------------------------------
編集ルーチンでは項目を非表示にして登録者名などの編集に 制限するなどの手直しが必要です。 --------------------- 459 #print "<tr><th>項目</th><th>得票数</th><th>グラフ色</th><th>変更/削除</th></tr>\n"; 461〜476 削除かコメント化します。 ---------------------
もちろん他にもいろいろアイディアはあると思います。javascriptを 生かしてvalue_plusで上の処理をすると、初期設定を追加で登録する ダイナミックさを味わうことができます。最初に思いついた愚案で失 礼します。
なお、データを姉妹編と区別するために --------------------- #■ 作業用フォルダ $tmp = "./tempmes/"; ---------------------- #□ 作業用フォルダ $tmp = "./tempsister/"; ----------------------- # 画像フォルダ $img = "./imgsister/"; --------------------
のように変更すればデータファイルとアイコン画像ファイル管理が容易 になると思われます。画像もさらに15ヶ1セット使えて遊びスピリット 満載あんQsisterです。
以上です。 ***************************************応用発展編 クロス集計ができない代わりに、あんQ姉妹編を複数本作成して擬似的 に一つのテーマの立体的な把握が可能になるかもしれません。 作業用フォルダと画像フォルダも別にします。
anqu15.cgi 小中学生用あんQ anqu20.cgi 高校以上20歳以下あんQ anq4all.cgi 一般用(誰でも投票可)
これらに共通のテーマデータをセットすれば、項目ごとの得票の差異や 評価の違いなどがはっきりとでたり、また、年代差がでないかもしれ ません。テーマに巧みに性差がでる項目を設定して利用者の男女比など も把握できます。最近のニッチェ(niche)商品の分散多様化トレンド が、世代別にアンケートに反映されるかもしれません。
sisterといえば、ウーピー・ゴールドバーグ主演『天使のラブソング』 のテーマソング(midi演奏(無料))を背景に流すのも楽しそうです。
上記はすべて当方の愚案ですが、ご検討いただき、デジタルアンケートも できますよ、というcgiから、すえぽんさんのデジタルアンケートでしか できない未開の分野を開拓してください。
|
|