내 웹 사이트에는 사용자가 한 번에 하나의 질문에만 답변 할 수있는 페이지가 있습니다. 제공된 질문은 질문 테이블에 저장됩니다. 사용자가 질문에 대답하면 답변 테이블에 저장됩니다. 질문에 답한 후 다음 질문으로 이동합니다.DB에서 행을 선택하기위한 SQL
내 코드가 작동하는 방식 지금은 질문 테이블에서 질문을 선택한 다음 답변 테이블 WHERE answers.id IS NULL
을 조인합니다. 이 문제는 사용자가 응답 한 경우도 확인 필요 제외하고
가 나는 그것이 일을해야 할 방법은, 위의 유사하다 (사용자가.이 질문에 대답하지 않은), 그리고 돈이있는 경우 그것을 표시하고 사용자가 대답하지 않은 다음 질문으로 이동하십시오.
나는 내가 충분히 자신을 설명했기를 바랍니다.
나는 현재
$db = db_open();
$query = "SELECT
questions.id,
questions.question
FROM questions
LEFT JOIN answers ON questions.id = answers.question
WHERE answers.id IS NULL
GROUP BY questions.id";
$result = db_query($db,$query);
$result = db_fetch_array($result);
$default_question = array("id"=>$result["id"],"question"=>$result["question"]);
질문 테이블
id question
1 This is a question
대답 테이블
id user question answer
1 1 1 This is an answer
,691을 사용하고 코드 이와
이'answers.id'가 기본 키 내가 guess.correct되어 몸 이런 식으로 뭔가 더 나은 것입니까? – user2936213
미안하지만 나는 당신이 원하는 것을 조금 혼란스럽게 생각합니다. 특정 사용자가 질문에 답변하지 않은 경우 표시하는 것입니까? –
두 명의 사용자가 질문에 대답하고 있다고 가정 해 봅시다. 둘 다 똑같은 질문을합니다. 사용자 1이 먼저 대답하면 그는 다음 질문을 얻고 사용자 2는 여전히 첫 번째 질문에 답합니다. 그것은 그렇게 작동해야합니다. 나는 그것이 그것을 설명하는 더 쉬운 방법이라고 생각한다. –