SHUFFLE!

【知っトク】現在作成済みのPHPの4択選択問題があります。以下のように$question1...

投稿日:

【知っトク】現在作成済みのPHPの4択選択問題があります。以下のように$question1...

現在作成済みのPHPの4択選択問題があります。以下のように$question1...

現在作成済みのPHPの4択選択問題があります。以下のように$question1~$question10の変数にarrayで選択肢を代入し、配列にしています。 $question1 = array('きゅうり','みかん','いちご','りんご');
$answer1 = $question1[0];
shuffle($question1);


$question10 = array・・・
また、先頭の値を正解にし、shuffleにて選択肢をランダムに表示します。
これを別ページに送信し、各問題の正解、不正解を表示させるようにしております。
※foreachはうまく作動させられなかったので未使用
※問題文、選択肢は例です










問1 果物はどれか?








現在これをデーターベースから参照するようにしたいと考えております。
理由としてはPHPに直接選択肢を書くのが面倒で管理しずらい(問題数が非常に多い)からです。
つまり選択肢と問題文をPHPやHTMLに直接書かずにDBから取得したいのです。
たとえば、DB上の選択肢「きゅうり みかん いちご りんご」を$question1に配列で代入し、
つぎにDB上の選択肢「りんご レタス きゅうり なす」を$question2に代入させます。
これを$question10まで同じように処理させて10問分作成したいと思っています。
そのため、、phpMyAdminにてsampleテーブルを作成し、カラムを問題文、選択肢1~4、解答の6つ作成しました。
―――――――――――――――――――――――――――――――――――
|問題文 |選択肢1 |選択肢2 |選択肢3 |選択肢4 |解答 |
|野菜はどれか? |きゅうり | みかん | いちご | りんご |きゅうり|
|果物はどれか? |りんご | レタス |きゅうり | なす |りんご |
|・ | | | | | |
|・ | | | | | |
|・ | | | | | |
―――――――――――――――――――――――――――――――――――
次にこのデーターベース上の問題文のカラムを表示させるには
query("SET NAMES utf8;");
}catch (PDOException $e){
print('Error:'$e->getMessage());
die();
$sql = 'select * from sample';
foreach ($dbh->query($sql) as $row) {
echo($row['問題文']'
');
}
?>
とすればよいことがわかり、SELECT文にWHERE句などを用いる方法もわかりました。
しかし、選択肢1~4のカラムについては、ただ表示させるだけでなく、変数$question1~$question10に
代入させ、PHPの4択問題として機能させなければなりません。ここの記述については、調べてもなかなか
理解ができず苦戦しております。どのようなコードを入力すればよいのか、ご回答お願い致します。

アンサー

カラム問題文,選択肢1,選択肢2,選択肢3,選択肢4,解答が元のソースの何に対応するのかを考えれば自明だろうと思いますが・・・
というか、読み込んだレコードからhtmlは生成できないのであれば、何のためにレコードを設計したのかという話になります。読み込めば、必要なhtmlが生成できるようにテーブルを設計するわけですから。
#何をどうしたくて、この設計にされたんでしょうか?
>変数$question1~$question10に
>代入させ、PHPの4択問題として
>機能させなければなりません。
代入すればいいだけだと思います。そもそも問題が10問あるからといって(データベースから取得するなら)$question1~$question10と10個の変数を使う意味はありません。
#そもそも「$question1~$question10」と書いているのに、
#ソースには$q1~$q10しか存在していませんし・・・
というか、レコードにはuniqueなIDを割り当ててそれを元にすべきです。正解をHTMLに埋め込んでPOSTさせるなら「HTMLソースを表示させれば正解がバレバレ」ということになりますよね?あくまでも ID だけを受け渡してください。
テーブル定義が「ID, 問題文, 選択肢1, 選択肢2, 選択肢3, 選択肢4」という設計であれば
$sql = 'select * from sample';
$head = false;
foreach ($dbh->query($sql) as $row) {
if ($head === false) {
echo "

";
$head = true;
}
printf('

', $row['ID'], $row['問題文']);
$sel = [];
$sel[] = $row['選択肢1'];
$sel[] = $row['選択肢2'];
$sel[] = $row['選択肢3'];
$sel[] = $row['選択肢4'];
shuffle($sel);
echo '

';
}
if ($head === true) { echo '

問%d %s
';
foreach ($sel as $val) {
printf('', $row['ID'], $val);
}
echo '

'; }
といった感じでしょうか(ソースはまったくの未検証です。あくまでも「流れ」を示しているだけなのであしからず)。
(蛇足)
$dbh->query("SET NAMES utf8;");
いったいいつの時代の参考書を使っているのでしょうか・・・。set names でcharsetを指定することはありません(set names を使うのはphp536まで)。
://phpnet/manual/ja/refpdo-mysqlconnectionphp
◆別アカウントでしょうか?
s://detailchiebukuroyahoocojp/qa/question_detail/q141912016
あちらは foreach() で書けたたらしいから、それともそういう宿題?
s://detailchiebukuroyahoocojp/qa/question_detail/q131913271
> $question1 = array('きゅうり','みかん','いちご','りんご');
>
変数名が不統一ですね。
そもそも、選択肢に「問題」という名前を付けるのはどうかと思うけど?
> とすればよいことがわかり
参考にしているところが古過ぎるようです。
下記を見れば判る様に、SET NAMES をわざわざ発行する様な事は古いバージョンで「仕方なく」やる場合です。
://phpnet/manual/ja/refpdo-mysqlconnectionphp
また、あちらこちらにコピペミスなのか、タイプミスなのか、細かいミスが点在
> 変数$question1~$question10に代入させ

> 理由としてはPHPに直接選択肢を書くのが面倒で管理しずらい(問題数が非常に多い)から
が矛盾します。
選択肢の組ごとに別の変数($question1~$question10)にするのは「管理しずらい」とイコールでしょ?
まぁ、どうしてもそうするっていうのなら、末尾の問題文を echo するのとは別でやるしかないと思います。
可変変数というのをご存じでしょうか?
://phpnet/manual/ja/languagevariablesvariablephp
これを理解されていれば、少しは簡単に書けますが、まだでしたら泥臭くやるしかないです。
$sth = $dbh->query($sql);
$row = $sth->fetch(PDO::FETCH_ASSOC);
$question1 = array($row['選択肢1'],$row['選択肢2'],$row['選択肢3'],$row['選択肢4'],);
$question1[0] = $row['解答 '];
$row = $sth->fetch(PDO::FETCH_ASSOC);
$question2 = array($row['選択肢1'],$row['選択肢2'],$row['選択肢3'],$row['選択肢4'],);
$question2[0] = $row['解答 '];


質問タグ:radio",php echo,input type,label>,checked id,$question10,set names

【ブログ】心にずっしり響く本、おすすめの哲学小説を教えてください。 先日、『...

心にずっしり響く本、おすすめの哲学小説を教えてください。 先日、『...

心にずっしり響く本、おすすめの哲学小説を教えてください。
先日、『リスボンへの夜行列車』パスカル・メルシエを読みました。
哲学的で難解な部分も多く、理解しがたい部分もありましたが 、自分のこれまでの人生、これからの人生について考えさせられました。
時間をかけてじっくり読みたくなるような、そんな本を探しています。
有名な本でも、あまり知られていない本でも構いません。おすすめを教えてください。
ちなみに、私の好きな本ベスト3は、
「退屈な話」チェーホフ
「魍魎の匣」京極夏彦
「スカイ・クロラ」森博嗣
です。

アンサー

「心にずっしり」というほどではないけど、高橋和巳の「邪宗門」が昔から好きで、時々読み返しています。読み終わるとどっと疲れるのですが、ある意味心地ち良い疲れです。
小説はあまり読んでないのですが、
哲学小説というなら、サルトルなんか如何ですか。「嘔吐」が有名だけど、戯曲集の方が読みやすくていいかもしれない。
◆「邪宗門」を図書館で見つけたのですが、読むのが大変そうな本ですね。宗教関係の話も興味があるので、時間があるときに挑戦してみようと思います。
サルトルも面白そうです。
ありがとうございました。
◆プラトン対話篇はどうでしょうか。まさに西洋哲学の源流をなす哲学書ですが、対話中心の小説か戯曲のようなものと言っていいでしょう。
まずは『ソクラテスの弁明』『クリトン』『パイドン』『饗宴』『ゴルギアス』から。リンク先も参照してください。
s://mchiebukuroyahoocojp/detail/q13189625073
ニーチェの叙事詩的な哲学小説『ツァラトゥストラ』
://detailchiebukuroyahoocojp/qa/question_detail/q1011311867
カミュ『異邦人』『ペスト』『転落』、サルトル『嘔吐』『水いらず』
://detailchiebukuroyahoocojp/qa/question_detail/q1312989444
ヘッセ『デミアン』
s://mchiebukuroyahoocojp/detail/q10166587700
東洋思想を小説化したものとして、『論語物語』『小説 ブッダ』『玄奘三蔵』を紹介します。
下村湖人『論語物語』
s://mchiebukuroyahoocojp/detail/q10139263540
ティク・ナット・ハン『小説 ブッダ いにしえの道、白い雲』
s://mchiebukuroyahoocojp/detail/q12112503952
湯浅泰雄『玄奘三蔵 ― はるかなる求法の旅』
s://mchiebukuroyahoocojp/detail/q10158357410
現代文学では、辻邦生の『夏の砦』と、丸山健二の『争いの樹の下で』が私にとっては双璧です。
://detailchiebukuroyahoocojp/qa/question_detail/q1246589277
◆哲学的な小説なら、笠井潔の矢吹駆シリーズはどうでしょう。
森博嗣が、出版前に読んでいたら小説を書いていなかったと述べた、
『バイバイ、エンジェル』から始まる一連の推理小説です。
主人公が現象学という哲学的手法を用いて事件を解決しますが、
事件の最中に哲学談義がやたらと盛り込まれています。
第4作には、あのハイデガーをモデルにしたキャラも出ますし。
◆『蝿の王』
◆『リスボンへの夜行列車』を読んでいただけたのなら
ポルトガルつながりで『白の闇』ジョゼ・サラマーゴを推します。
ノーベル文学賞の作家で、映画にもなってます。
あとは哲学的な本ならミラン・クンデラとか、
森博嗣がお好きでしたら夢野久作あたりはどうでしょうか。


質問タグ:森博嗣,チェーホフ,京極夏彦,夜行列車,リスボン,玄奘三蔵,クリトン

【マル秘】アル・パチーノの出演作で皆様の好きな作品を一つ挙げてください。 1 ...

アル・パチーノの出演作で皆様の好きな作品を一つ挙げてください。 1 ...

アル・パチーノの出演作で皆様の好きな作品を一つ挙げてください。 1 ナタリーの朝
2 哀しみの街かど
3 ゴッドファーザー
4 ゴッドファーザーPART 2
5 ゴッドファーザー PART3
6 スケアクロウ
7 セルピコ
8 狼たちの午後
9 ボビー・デアフィールド
10 ジャスティス
11 クルージング
12 喝采の陰で
13 スカーフェイス
14 レボリューション めぐり逢い
15 不名誉なローカル
16 シー・オブ・ラブ
17 ディック・トレイシー
18 恋のためらい/フランキーとジョニー
19 摩天楼を夢みて
20 セント・オブ・ウーマン 夢の香り
21 カリートの道
22 天国の約束
23 ヒート
24 リチャードを探して
25 訣別の街
26 フェイク
27 ディアボロス 悪魔の扉
28 インサイダー
29 エニイ・ギブン・サンデー
30 インソムニア
31 シモーヌ
32 ニューヨーク 最後の日々
33 リクルート
34 エンジェルス・イン・アメリカ
35 ジーリ
36 ヴェニスの商人
37 トゥー・フォー・ザ・マネー
38 88ミニッツ
39 オーシャンズ13
40 ボーダー
41 死を処方する男 ジャック・ケヴォーキアンの真実
42 陰謀の代償 NYコンフィデンシャル
43 ジャックとジル
44 ミッドナイト・ガイズ
45 Dearダニー 君へのうた
46 ブラック・ファイル 野心の代償

『ゴッドファーザーPARTⅡ』です。
あのラストの表情、生涯忘れることは無いでしょう。
最高の名演。...

-SHUFFLE!
-, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Copyright© アニメ百選 , 2019 All Rights Reserved Powered by AFFINGER5.