質問させて頂きます。このカテゴリで良いのか分かりませんが、間違っていたら、すみません。
僕は今、シャンプーの販売サイトを運営しているのですが、そのコンテンツとして商品の適性診断みたいなのを作りたいと思っています。
具体的に申しますと、例えば、質問項目に「かゆみが出やすい」を「yes」か「no」で選択させ、選択すると次のページに移り、そこでまた質問項目に「ふけが出やすい」を「yes」か「no」で選択させ、これをいくつか続け、最後に、「あなたに適している商品は○○です」みたいな感じにしたいと思っています。PHPやCGIの知識はほんの少し程度しかありませんが、自作できればそれが一番良いのですが。あまり高度は知識がないとやはり無理でしょうか。例えば、無料のPHPスクリプトやCGIスクリプトみたいなのがあればいいなとも思っています。自分でももちろん色々調べたのですが、力不足で見当たりません。
漠然とした質問になってしまいましたが、とにかく質問項目も5,6個程度で商品も10個ぐらいなので、簡単なもので構いません。どなたかよろしくお願いします。
No.4ベストアンサー
- 回答日時:
失礼しました。
6通りじゃなく、2の3乗=8通りの組み合わせですよね。-db.datの中身を、以下のように変えて下さい。
Y,Y,Y,商品1
Y,Y,N,商品2
Y,N,N,商品3
Y,N,Y,商品4
N,Y,Y,商品5
N,N,Y,商品6
N,N,N,商品7
N,Y,N,商品8
joy_28様、返事が遅れまして、大変申し訳ございませんでした。アドバイスして頂いた方向で頑張ってみたいと思います。本当にありがとうございました。また何かございましたらよろしくお願い致します。
No.3
- 回答日時:
2点、手を抜いてましたので、追加します。
-html側
<input type="radio" name="kayumi" value="Y"checked>強い<br>のように、選択状態を示す、checkedをそれぞれ、入れて下さい。
-php側
~中略
$file=fopen("db.dat","r");
flock($file,LOCK_SH);//共有ロック
while($row=fgetcsv($file)){
if($row[0]==$data[0] && $row[1]==$data[1] && $row[2]==$data[2]){//0,1,2の要素文字列が全て、合致していたなら、
print $row[3].'が、推奨品です';//その配列要素4番目を表示する
}
}
flock($file,LOCK_UN);//ロック解除
~以下略
No.2
- 回答日時:
aikaj127さん、
PHPで作るとすれば、以下のような例もあります。
【基本的な考え方】5問に2つずつの回答があるので、5×2=10通りの結論がありますので、予め、テキストで、その組み合わせとそれに対応する商品を、CSV方式で、記載しておき、回答された組み合わせとマッチングを行って、該当商品名を表示するという方法もあります。
【一例】10個の組み合わせは、お任せするとして、3つの質問、即ち6個の結論を例にします。質問は、適当です。尚、全て、UTF-8で記載してます。
-html側:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>商品選択</title>
</head>
<body>
<p>以下の質問にお答え下さい<p>
<form method="post" action="./answer.php">
<p>Q1:かゆみが強いですか?</p>
<p>
<input type="radio" name="kayumi" value="Y">強い<br>
<input type="radio" name="kayumi" value="N">弱い
</p>
<p>Q2:乾燥しやすいですか?</p>
<p>
<input type="radio" name="kanso" value="Y">し易い<br>
<input type="radio" name="kanso" value="N">しにいく<br>
</p>
<p>Q3:淡泊な色が好きですか?</p>
<p>
<input type="radio" name="iro" value="Y">淡泊な色<br>
<input type="radio" name="iro" value="N">濃い色く<br>
</p>
<p>
<input type="submit" value="回答"><input type="reset" value="取り消し">
</p>
</form>
</body>
</html>
-PHP側:ファイル名、answer.php
<?php
$kayumi=$_POST['kayumi'];//html側のkayumiのvalueを取得して、変数$kayumiに代入
$kanso=$_POST['kanso'];
$iro=$_POST['iro'];
$data=array($kayumi,$kanso,$iro);//配列を生成し、
$file=fopen("db.dat","r");//予め組み合わせを作っておいた、テキスト型のdb.datを開き、
while($row=fgetcsv($file)){//,区切りで、一行ずつ読み込み、配列作成
if($row[0]==$data[0] && $row[1]==$data[1] && $row[2]==$data[2]){//0から3番目の文字列が全て、合致していたなら、
print $row[3].'が、推奨品です';//その配列要素3番目を表示する
}
}
fclose($file);
-外部テキスト型のファイル名:db.dat
Y,Y,Y,商品1
Y,Y,N,商品2
Y,N,N,商品3
N,Y,Y,商品4
N,N,Y,商品5
N,N,N,商品6
一度、これで、試してみて、NEXT方式を考えたらいかがでしょうか?
質問数も少ないので、NEXT方式でなくても、いいような気がしますが、どうしてもと言うなら、#1の回答者がおっしゃているように、クライントアプリだけで、組み上げる、Flashの採用か、Flashとこの組み合わせも、考えられます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jquery 診断コンテンツにチェックボックスを付けたいです 3 2023/01/19 18:31
- Amazon 新規でAmazon商品ページ作成方法について 1 2022/03/28 00:22
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- メルカリ メルカリで古着販売、古物商許可証必要でしょうか。 3 2023/02/20 10:42
- 就職 先程ダイソーの録画面接をうけました。 志望動機は「私は御社を利用したことがあり、そのときに、充実した 2 2023/04/17 14:17
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 文学・小説 出版社に褒められました 6 2022/10/02 12:04
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
PHPで画像の渡しが上手く行きま...
-
チェックボックスの必須項目指定
-
HTMLのリンクをクリックするこ...
-
検索時の選択内容を保持する方法
-
エラーを元の画面に表示させるには
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
チェックボックスのうちひとつ...
-
フォームへの前回入力値をクリ...
-
PHPの関数実行
-
PHPのsubmitボタンが複数ある場合
-
フォームのテキストボックスに...
-
フォームでのリセットを使う方法
-
DBの値をチェックボックスに反...
-
チェックボックスによる検索(...
-
inputタグのhiddenの使い分けに...
-
フォームボタンを押すたびに数...
-
IEで、フォームにたとえば
-
PHPでフォームに表示させたCSV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
フォームへの前回入力値をクリ...
-
PHPの関数実行
-
ラジオボタンをsessionで使いたい
-
PHPで画像の渡しが上手く行きま...
-
入力フォーム→確認画面→送信画...
-
DBの値をチェックボックスに反...
-
フォームボタンを押すたびに数...
-
セッションにIDを振って値を代入
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
【HTML(PHP?)】複数のフォーム...
-
画面が更新されてもチェックボ...
-
POSTデータのNAME属性をVALUEに...
-
チェックボックスを用い、MySQL...
-
エラーを元の画面に表示させるには
-
チェックボックスを使った複数...
おすすめ情報