2013-08-31 2 views
0

중첩 쿼리가 필요한지 확실하지 않습니다.초기 쿼리의 일부 행에 대해서만 데이터를 표시하는 두 번째 쿼리

저는 교사가 학생들의 학습을 돕기 위해 퀴즈를 만들 수있는 사이트에서 작업하고 있습니다. tbl_quiz_titles의 member_id와 일치하는 회원의 세션 ID를 기반으로 선생님이 이미 만든 퀴즈를 반복하는 간단한 쿼리가 있습니다.

각 퀴즈 이름 아래에는 교사가 다른 페이지로 이동하여 퀴즈에 배지를 추가 할 수있는 버튼이 있습니다.이 배지는 교사가 결정한 특정 비율을 얻으면받을 수 있습니다.

session_start(); 
    include "mysqlpdo_connect.php"; 
     $my_quiz_query = $pdo->query("SELECT * FROM tbl_quiz_titles WHERE member_id = '{$_SESSION['member_id']}'") ; 

$result_my_quiz_query = $my_quiz_query->fetchAll(PDO::FETCH_ASSOC); 

     foreach($result_my_quiz_query as $row_my_quiz_query) { 


echo $row_my_quiz_query['quiz_id'] . ": " . $row_my_quiz_query['quiz_name'] . "<br/> 

<form action=\"ebox_badge_new.php\" method=\"get\" style=\"float: left\"> 
    <input type=\"hidden\" name=\"ref\" value=\"" . $row_my_quiz_query['quiz_id'] . "\" />    
    <button><img src=\"images/icons/Add_Badge_Btn.gif\" alt=\"Add badge to quiz\" width=\"100\" height=\"25\" border=\"0\" /></button> 
</form> 
<br/> 
<br/> 

"; 

     } 

문제는이 쿼리는 모든 퀴즈의 이름 아래 양식 버튼을 보여주고 있다는 것입니다 :

여기에 내 현재 코드입니다. 선생님이 퀴즈에 배지를 추가하면 더 이상 해당 퀴즈에 배지를 추가 할 수있는 양식을 볼 수 없습니다.

배지는 tbl_badges에 저장되며 퀴즈 ID는 "badge_quiz_id"열에 저장됩니다.

내 질문은 다음과 같습니다. 양식 단추는 배지가 아직없는 퀴즈에만 표시되도록 코드를 어떻게 변경합니까?

즉 : $의 row_my_quiz_query [ 'quiz_name는']

각 퀴즈 반향되어야하지만 $의 row_my_quiz_query는 [ '는 quiz_id'] tbl_quiz_badges.badge_quiz_id에서 볼 수없는 경우에는 형태만을 도시한다?

팁을 주시면 감사하겠습니다.

건배, 올바른 방향으로 "당신의 상식"나를 가리키는위한 데이브

+0

당신이 당신의 쿼리에 가입해야합니다

내가 트릭을 할 것 같다있는 해낸 것입니다 –

답변

0

감사합니다.

<?php 
    session_start(); 
    include "mysqlpdo_connect.php"; 
     $my_quiz_query = $pdo->query("SELECT * 
FROM `tbl_quiz_titles` 
LEFT JOIN 
    `tbl_badges` 
ON  `member_id` = '{$_SESSION['member_id']}' 
    AND `quiz_id` = `badge_quiz_id`") ; 





$result_my_quiz_query = $my_quiz_query->fetchAll(PDO::FETCH_ASSOC); 

     foreach($result_my_quiz_query as $row_my_quiz_query) { 


echo $row_my_quiz_query['quiz_id'] . ": " . $row_my_quiz_query['quiz_name'] . "<br/>"; 

if ($row_my_quiz_query['badge_quiz_id'] == "") 
{ 


echo" <form action=\"ebox_badge_new.php\" method=\"get\" style=\"float: left\"> 
    <input type=\"hidden\" name=\"ref\" value=\"" . $row_my_quiz_query['quiz_id'] . "\" />    
    <button><img src=\"images/icons/Add_Badge_Btn.gif\" alt=\"Add badge to quiz\" width=\"100\" height=\"25\" border=\"0\" /></button> 
</form> 
<br/> 
<br/> 

"; 
    } 
     } 
     ?> 
관련 문제