0

誰かが私を助けることができるかどうか疑問に思っていました。

顧客は評価を完了します。各回答は 1 ~ 5 のラジオ値であり、10 の質問があります。したがって、

評価表

アセスメント ID | 学生ID | q1 | q2 | q3.....q10

1 - 1001 - 1 - 5 - 3 - 2

キャリア テーブルには 10 のキャリアがあり、それぞれ 1 ~ 5 で評価されます (これはキャリアごとに設定されます)。

採用表

キャリアID | キャリア名 | q1 | q2 | q3.....q10

1 - ドクター - 5 - 2 - 1 - 3

キャリアテーブルのq1に対して評価テーブルのq1など、あるシーケンスを別のシーケンスと照合する結果ページを作成しようとしています。

さらに説明すると、ユーザーは質問 1 に 1 ~ 5 の値を入力します。これは、キャリア 1 の q1 値と一致します。これは、質問 10 まで各質問に対して繰り返されます。全体的な結果 (一致率) が表示されます。つまり、ユーザーとその特定のキャリアの一致率が表示されます。このプロセスは、残りのすべてのキャリアに対して繰り返されます。

結果を降順で表示し、上位 5 つだけを表示したい。

結果は次のように表示されます。

キャリア名 (結果一致率) ハイパーリンク (外部 Web サイトへ)

現時点では動作していますが、次のようなクエリが非常に多くあります。

<?php
$career1sequence1 = mysql_result (mysql_query ("SELECT `q1` FROM `careers` WHERE `careerid ` = '1'"), 0):
$question1 = mysql_result (mysql_query ("SELECT `q1` FROM `assessment` WHERE `studentid` = $session_studentid"), 0);
$career1result1 = $question1/$career1sequence1;
if ($career1result1>1)  {
    $career1result1 = $careersequence1/$question1
}
?>

このクエリは、すべての質問入力/キャリア シーケンス値に対して繰り返されます。これをもっと簡単に行う簡単な方法があるかどうかは誰にも分かりますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

Web アプリケーションでユーザーが入力した名前を検証し、名前の巨大なデータベースに対してリアルタイムでチェックしたいアプリケーションがあります。一致する名前が見つかった場合は、報告する必要があります。出力結果 ( Fuzzy text (sentences/titles) matching in C# ) を見たことがありますが、これは必要なものとほぼ同じです。MS SQL データベースを使用しており、レーベンシュタイン ロジックと一致する % を使用しています。現在、トランザクションの実行には約 2 分かかります。それらを最適化/調整するのを手伝ってくれることを願っています。ありがとう

于 2013-10-31T17:27:17.720 に答える