2013-10-29 2 views
0

배열의 요소를 추출하고 배열 요소를 조건으로 사용하여 SQL 쿼리를 실행합니다. 내가 직면 한 문제는 쿼리가 아무 것도 반환하지 않는다는 것입니다. 코드는 아래와 같습니다.배열 요소가있는 SQL 쿼리를 실행하려면

//extracting the array elements 
     foreach ($t as $value) { 
     extract($value); 

    } 
$sql = "SELECT * FROM daily_log where employee_log_id='$employee_log_id' AND log_date='$value'</br>"; 
      $result = mysql_query($sql); 
      $row = mysql_fetch_array($result); 
     echo $row['in_time']; 
     echo $row['out_time']; 

echo $ row [ 'in_time'] 및 echo $ row [ 'out_time']; 아무 것도 보여주지 않습니다.

아무도 내가 문제를 파악하는 데 도움을 줄 수 있습니까 미리 감사드립니다.

답변

0

문제는 SQL 쿼리 코드가 foreach 루프 외부에있는 것입니다. $value 변수가 해당 범위에 없습니다.
이 시도 :

foreach ($t as $value) { 
    extract($value); 
    $sql = "SELECT * FROM daily_log where employee_log_id='$employee_log_id' AND log_date='$value'</br>"; 
    $result = mysql_query($sql); 
    $row = mysql_fetch_array($result); 
    echo $row['in_time']; 
    echo $row['out_time']; 
} 

편집 :
하지만 당신이 뭘 하려는지 이해할 수 없다. 나는 extract() 함수 또는 foreach 루프가 필요하다고 생각합니다. 또한 SQL 쿼리 문자열에 </br> html 태그가있는 이유는 무엇입니까?
다음과 같이 하시겠습니까?

foreach ($t as $key -> $value) { 
    $sql = "SELECT * FROM daily_log where employee_log_id='$key' AND log_date='$value'"; 
    $result = mysql_query($sql); 
    $row = mysql_fetch_array($result); 
    echo $row['in_time']; 
    echo $row['out_time']; 
} 
관련 문제