2013-01-15 1 views
0

나는 주 테이블 USERS에 다른 테이블 DUES가 있습니다. 사용자 테이블에는 한 유형의 모든 사용자 목록이 포함되어 있습니다. & DUES 테이블에는 지불 한 사용자의 세부 정보 만 있습니다.CSV 파일에 두 개의 테이블 정보 추가 if-else

유료 & 무료 사용자를 다운로드하려면 CSV 파일에 기재해야합니다.

일반적인 또는 익숙하지 않은 사용자 목록을 생성하는 몇 가지 쿼리가 있지만 문제점은 오름차순으로 계속 유지해야하며 거기에 문제가 있습니다. 나는 반복하는 법을 모르므로 DUES 테이블 & UNPAID에 그가 존재하지 않으면 각 사용자의 유료화를 표시합니다. 내가 좋아하는 가지고

쿼리 -

$all_user_list = db_query("SELECT u.uid,u.name FROM {users} u INNER JOIN {user_roles) ur ON u.uid=ur.uid WHERE ur.rid = 7 ORDER BY name ASC"); 

$all_paid_user = db_query("SELECT uid,name FROM {dues} WHERE nid = 2001"); 

이제 첫 번째 배열은 지불 가정 된 모든 사용자의 목록을 가지고 있고 두 번째 지불 한 모든 사람들의 목록이 있습니다. 누군가 CSV를위한 배열로 저장할 때 이것을 오름차순으로 정렬 해 주시기 바랍니다.

답변

0

이 부분을 확인하십시오. 이것은 첫 번째 테이블 데이터의 존재를 두 번째 테이블 데이터로 확인하고 존재할 경우 PAID &은 UNPAID가 아니면 안됩니다. 두 번째 배열에있는 userid를 $ secondarr이라는 배열에 저장하십시오.

foreach($firstarr as $user) 
{ 
if(in_array($user['userid'],$secondarr)) 
    { 
    $user['paid']=1; 
    } 
    else 
    { 
    $user['paid']=0; 
    } 
} 

$firstarr=sort($firstarr); 
print_r($firstarr); 
+0

지금은 유료 상태를 확인할 특정 필드가 없으므로 간단히 함께 정렬 할 수는 없습니다. 첫 번째 테이블 데이터의 존재를 두 번째 테이블 데이터로 확인해야하며, PAID &가 존재하면 UNPAID가 아닌지 확인해야합니다. – RajeevK

+0

@ RajeezK 좋습니다. 그 쿼리 결과로 정확히 무엇을 원합니까? – cartina

+0

$ arr [paid '] = 1과 다른 배열에 지불 한 사용자에 대한 결과를 포함하는 배열에 인덱스를 하나 더 추가 할 수 있습니다. $ arr [paid'] = 0 – cartina

관련 문제