2013-10-31 6 views
0

내가 데이터베이스에서 선택하고 또한 연결 데이터일치 PHP 배열의 데이터와

$sql="SELECT * from voip_emergency_services_data "; 
$rs=mysql_query($sql,$conn) or die(mysql_error()); 
if(mysql_num_rows($rs) > 0) 
{ 
    while($result=mysql_fetch_array($rs)) 
    { 
     $ListData1[] = $result["number"]; 
    } 
} 

이 하나가 다른 테이블에서 동일한 않습니다, 배열을 만들어이 PHP 코드가 일치하지 않는 것을 표시 다른 서버의 다른 데이터베이스에

$sql="SELECT * from channel_did "; 
$rs=mysql_query($sql,$pbx01_conn) or die(mysql_error()); 
if(mysql_num_rows($rs) > 0) 
{ 
    while($result=mysql_fetch_array($rs)) 
    { 
     $ListData2[] = $result["did"]; 
    } 
} 

어떻게 배열의 양의 데이터를 일치시킬 수 있습니다 후 012에 예를 들어

에게 각 행과 일치하지 않는 것을 표시표

질문을 바탕으로
+0

다른 서버의 다른 데이터베이스는 무엇입니까? ['FEDERATED'] (http://dev.mysql.com/doc/ko/federated-storage-engine.html) 스토리지 엔진을 사용하여 링크 할 수 있습니까? – eggyal

답변

1

,이 1 일에 무엇을 제공하지만 2의 2에 무엇인가가 아니라 did 열을 기준으로 voip_emergency_services_data 테이블의 행과 number 열이 일치해야합니다 :

$notIn1 = array_diff($ListData2, $ListData1); 
$notIn2 = array_diff($ListData1, $ListData2); 

echo implode(',', $notIn1) . ' are in list 2 but not 1'; 
echo implode(',', $notIn2) . ' are in list 1 but not 2'; 

foreach($notIn1 as $value) { 
    echo "$value is not in list 1"; 
} 
+0

경고 : array_diff() [function.array-diff] : 인수 1은 /home/integra/public_html/admin/customer/voip_emergency_data_errors.php의 37 행에있는 배열이 아닙니다. 경고 : array_diff() [function.array-diff] : 인수 # 1은 /home/integra/public_html/admin/customer/voip_emergency_data_errors.php의 42 행에 배열이 아닙니다. – charlie

+0

대소 문자를 구분할 수 있습니까? – AbraCadaver

+0

지금은 그냥 'Array'라는 단어를 얻지 못했습니다. ( – charlie

0

이 문제를 해결하는 데 사용할 수있는 몇 가지 기능이 있습니다.

array_diff($array1,$array2)은 $ array1에는 있지만 $ array2에는없는 모든 항목을 찾습니다.

array_intersect($array1,$array2)은 $ array1 및 $ array2에있는 모든 항목을 찾습니다. $ array1은 비교 대상 마스터가 될 것이므로 array2는 $ array1에없는 항목을 포함 할 수 있습니다.

관련 문제