私は調査であるページを持っています-以前の質問に対するあなたの回答に基づいて、jqueryを使用して他の質問を表示および非表示にします(これらの質問はすべての入力タイプによって異なります)保存機能と保存および送信機能があります-保存および送信時非表示になっていないすべての質問に回答済みであることを確認する必要があります - 構文をテストするための出力を使用してこれをプロトタイピングする際に、実行している大量の mysqli クエリがページの速度を低下させることに気付きました (300 以上の質問または10)
以下は、この調査に割り当てられている質問の数を調べるためのクエリ (sid、$surveyid) です。$qcountup は、1 から最大の質問番号 ($qtotal) までのすべての番号に while ステートメントをアクセスさせる私の方法でした。データベース内の各数値に対して回答が存在するかどうかを確認するクエリを実行している間に、1 から $qtotal までのすべての数値に対して再動作する while ステートメントに行き着きます (回答されていない場合は存在しません)。繰り返しになりますが、これが現在どのようにコーディングされているかというと、300 以上の mysqli クエリ (LAG) を意味する可能性があります。
$qquery = "SELECT * FROM question WHERE (sid = ".$surveyid.");";
$qresult = mysqli_query($dbc, $qquery);
$qtotal = mysqli_num_rows($qresult);
$qcountup = 1;
while($qcountup <= $qtotal){
$squery = "SELECT * FROM answers WHERE sid='".$SID."' AND question='".$qcountup."';";
$sresult = mysqli_query($dbc, $squery) or die(mysql_error());
if (mysqli_num_rows($sresult) )
{
echo("<br>row existed");
} else {
echo("<br>row doesn't exist");
}
$qcountup = $qcountup + 1;
}