「ダミーのプログラミング」の質問については、事前にお詫び申し上げます...これに関する以前の議論を無駄に検索しました。
これで、パワーボートでいっぱいの MySQL テーブルができました。各行には、基本的なパワーボート情報 (メーカー/モデル/など) に加えて、いくつかの異なる特性 (「パワー」、「快適さ」、「スタイル」) の 1 ~ 10 のスコアが含まれています。ユーザーが個々のニーズに合ったパワーボートを見つける手助けをしたい.
デフォルトでは、データは次のように "totalscore" の高い順に並べられます。
$sql = "SELECT *,(power + comfort + style) as totalscore FROM boats ORDER BY totalscore DESC";
...そして、PHP で結果をループし、リストとして表示します。
しかし、その後、ユーザーに一連の Yes/No の質問をして個々の好みを判断し、それぞれの回答でユーザーのセッションの totalscore の値を変更して、リスト項目の順序を変更したいと考えています。
つまり、はい/いいえのユーザー入力ごとに変更したい...そして、ユーザーの結果は、データベースからの元の合計スコアではなく、$_SESSION["totalscore"]
高いものから低いものに並べ替えられる必要があります。$_SESSION["totalscore"]
回路図の例
- ボストン ホエーラー 370。パワー=7、快適さ=8、スタイル=6、合計スコア=21
- ボストン ホエーラー 350。パワー=5、快適さ=7、スタイル=8、合計スコア=20
質問 1: スタイルが好きですか? はい・いいえ
if Yes {
$_SESSION["totalscore"] = totalscore + style;
reorder list items by $_SESSION["totalscore"]; // the 350 is now #1
}
if No {
$_SESSION["totalscore"] = totalscore + (style/2);
reorder list items by $_SESSION["totalscore"]; // they're now tied for #1
}
等。
概念的に私を$_SESSION["totalscore"]
つまずかせているのは、それが Cookie として保存されるのに対し、元の totalscore はデータベース クエリから取得されることです。そのため、 totalscore から に切り替えると$_SESSION["totalscore"]
、リスト項目を並べ替える方法がわかりません。
概略的な方法でのみ、誰かが私を正しい方向に向けることができますか? 私はそれを理解したいのですが、この時点で何を理解すればよいかわかりません。どうもありがとう。