Проблем с Mysql заявка

slideR

Registered
Здравейте.
Правя си една системка за тестове, но имам проблем при изкарването на самия тест.
Имам три таблици
1 - tests с полета test_id, test_name, test_date_added, test_hard
2 - tests_questions с полета question_id, question_name, correct_answer, test_id
3 - questions_answers с полета answer_value, answer_id, question_id
За следното нещо създавам тази заявка
[sql]SELECT * FROM tests AS t
LEFT JOIN tests_questions AS q ON (t.test_id=q.test_id)
LEFT JOIN questions_answers AS a ON (q.question_id=a.question_id)
WHERE t.test_id = " . $test_id . "[/sql]
Та въпросът ми е - как да изведа името на теста, името на въпроса и отговорите към него.
Когато го направя с един цикъл while всичко излиза толкова пъти колкото са отговорите :cry: :cry: :cry:

Може Заявката да не е структурирана добре но....
 
Тривиалното решение е това да се отработи в PHP кода с два вложени while цикъла:


PHP:
while ($r=mysql_fetch_row($tests)) {
  $id = $r['test_id'];
  echo $r['test_name'];
  while ($id==$r['test_id']) {
       echo $r['question_name'];
       $r = mysql_fetch_row($tests);
  }
}
 

Back
Горе