2016-11-15 1 views
1

배열에 3 개의 값이 있습니다. 이 세 가지 값은 사용자 계정에 따라 다릅니다 (ID로 복구 질문을 참조하기위한 것입니다).배열의 각 항목에 대해 mysql 쿼리를 생성하십시오.

전자 메일 주소로 양식을 제출하면 시스템에서 확인한 후 다른 데이터베이스에 저장된 3 개의 복구 질문 ID와 해당 계정의 3 개의 대답을 얻습니다. 내가 그렇게

Select * FROM recovery_questions WHERE rid='$val' 

같은 쿼리 및 각 질문에 대해 그 반환 것이 배열의 foreach() 할 수있는 방법

<?php 
    $questions = Array($question1id, $question2id, $question3id); 
?> 

:

그럼 그렇게 같은 배열에 정보를 저장 $cleanquestion1, $cleanquestion2$cleanquestion3과 같은 별도의 변수에 저장합니까?

시도 할 때마다 마지막 값을 덮어 쓰고 나에게 좌절감을줍니다. 감사합니다

+1

Select * FROM recovery_questions ($ question1id, $ question2id, $ question3ID)를 제거하여 어디에서 삭제합니까?라는 문을 1 개 발행하지 마십시오. 그러면 3in1 통화를 모두 되 찾을 수 있습니까? – xQbert

+0

실용적으로 보일 수 있지만 어떻게 그들을 별도로 부를까요? 나는 자주 질문을하는 것과 같이 묻지 않습니다. 나는 $ row [0], $ row [1] 등과 같은 것을 상상할 수 있습니까? – Kaboom

+0

여기 PDO를 사용한다고 가정하면 예제에 대한 링크가 있습니다. http://stackoverflow.com/questions/1756743/how-to-loop-through-a-mysql-result-set – xQbert

답변

1
<?php 
$a = 1; 
$questions = Array($question1id, $question2id, $question3id); 
foreach ($questions as $v){ 
    $sel = "Select * FROM recovery_questions WHERE rid='$v'"; 
    $stmt = $db->query($sel); 
    while($r = $stmt->fetch()){ 
      $qvar = "cleanquestion".$a; 
      $qqvar = $<<results>> 
    } 
    $a++; 
} 
?> 

대체 결과는 db에서 돌아옵니다.

echo $cleanquestion1 

는 question1id의 어떤 결과가 함께 발생합니다.

관련 문제