2014-11-15 2 views
0

Я использовал приведенный ниже код, чтобы отобразить данный номер ответа из таблицы ответов и показать значение ответа и правильное значение ответа из банковской таблицы вопросов. Но мне нужно, чтобы он выполнял код двух разных запросов MySQL в одном запросе.Присоединение к двум таблицам MySQL, в которых условие соединения относится к одной из таблиц.

$result = mysql_query("SELECT t1.*, t2.(t1.clicked_answer) 
         FROM Eg_Net_Solution_test_answer AS t1,             
          Eg_Net_Solution_test_question_bank AS t2 
         WHERE t1.user_serial = '10' AND 
           t1.area='Hamdun Pur' AND 
           t1.question_no=t.question_no"); 

Возможно ли сделать нижеследующий код аналогичным методом, как верхний? `

<?php 
    $given_answer_value=""; 
    $right_answer_value=""; 
    $question_no=""; 
    $given_answer_no=""; 
    $right_answer_no=""; 
$result=mysql_query("SELECT * from Eg_Net_Solution_test_answer where user_serial='10' AND area='Hamdun Pur'"); 
    while($row=mysql_fetch_array($result)) 
     { 

      $question_no=$row['question_no'];//question_no is a Column of Eg_Net_Solution_test_answer table 
      $given_answer_no= $row['clicked_answer']; //clicked_answer is a Column of Eg_Net_Solution_test_answer table contains value a,b,c,d 
      $result2=mysql_query("SELECT * from $Eg_Net_Solution_test_question_bank where question_no='$question_no'"); 
      while($row2=mysql_fetch_array($result2)) 
       { 
       $given_answer_value=$row2[$given_answer];// $given_answer is Column of Eg_Net_Solution_test_question_bank table and contains string value. Like $given_answer=a, and this colun a contains value "Prophet Muhammad RIP" 
       $right_answer_value=$row2[right_answer];// right_answer is Column of Eg_Net_Solution_test_question_bank table contains vale a,b,c,d 
       } 
     echo $row['question_no']; 
     echo "(".$row['answer']."). ".$given_answer_value; 
     echo "(".$row['right_answer']."). ".$right_answer_value; 
     } 
    ?> 

ответ

0

Если я не ошибаюсь, вы просто имел в виду, чтобы сделать INNER JOIN между двумя столами на question_no колонке. Что-то вроде

SELECT t1.*, t2.clicked_answer 
from Eg_Net_Solution_test_question_bank t1 
join Eg_Net_Solution_test_answer t2 on t1.question_no = t2.question_no 
where t2.user_serial = '10' 
and t2.area = 'Hamdun Pur'; 
+0

Спасибо, но осталось одно, что мне нужно показать значение ответа определенного вопроса из таблицы вопросов, какие серийные номера (a, b, c, d) приведены в таблице ответов. Поскольку таблица ответов содержит только серию ответов, но мне нужно извлечь значение ответа с этим номером. –

+0

Пожалуйста, см. Мне нужен этот t2. (T1.clicked_answer) –

+0

Просто добавьте этот столбец для выбора списка, проверьте отредактированный ответ. В любом случае, вы почти получили его. – Rahul

Смежные вопросы