ฉันกำลังสร้างแบบทดสอบสำหรับลูกค้าที่ต้องการให้บันทึกผลลัพธ์แบบทดสอบอัตโนมัติ และฉันพบปัญหา ฉันกำลังพยายามเลือกคำถามทั้งหมดที่ผู้ใช้ยังไม่ได้ตอบในแบบทดสอบบางข้อ ฉัน บันทึกผลลัพธ์ของคำถามแต่ละข้อที่ถูกตอบลงในตาราง RESULTS
แต่คำสั่งของฉันกำลังยุ่งเหยิงเมื่อมีผู้ใช้มากกว่าหนึ่งคนมีผลในตาราง RESULTS
ถ้าใครสามารถดูรหัสของฉันและให้คำแนะนำกับฉันได้ มันจะมาก ชื่นชม ขอบคุณล่วงหน้า!
จากตารางเหล่านี้และคำสั่ง คำถามถัดไปที่ฉันต้องโหลดคือ que_id = 3
สำหรับ use_id = 1
แต่ปัญหาที่ฉันกำลังเผชิญคือส่งคืน que_id = 1
และ que_id = 3
เนื่องจากผู้ใช้ use_id = 2
และ use_id 3
ตอบแล้ว ขอบคุณอีกครั้ง!
ตารางคำถาม
que_id qui_id que_question que_ans_id
1 1 lorem 1? 1
2 1 lorem 2? 6
3 1 lorem 3? 12
ตารางผลลัพธ์
res_id res_use_id res_qui_id res_que_id res_ans_id
1 1 1 1 2
2 1 1 2 6
3 2 1 3 10
4 3 1 1 1
พีเอชพี
$statement_question = $db->prepare("SELECT * FROM roa_quiz
LEFT JOIN roa_questions ON qui_id = que_qui_id
LEFT JOIN roa_results ON que_id = res_que_id
WHERE qui_id = :qui_id AND res_use_id != :use_id");
$statement_question->setFetchMode(PDO::FETCH_ASSOC);
$statement_question->execute(array(':qui_id' => 1, ':use_id' => 1));
$question = $statement_question->fetch();