2011-10-27 2 views
0

메신저 PHP에 익숙하지 않은 (.NET 일을하는 데 사용됨) 일부 배열 항목에는 약간의 문제가 있습니다.2 개의 mysql 결과를 합치는 것

내가 달성하고자하는 배열 목록에 내 MySQL에서 검색 한 결합하는 것입니다.

지금 당장 나는 내 mysql 결과를 반복하고이 모든 Idś를 배열로 복사 한 다음 중첩 된 foreach를 모두 결합합니다.

이렇게하려면 지름길/똑똑한 방법이 있는지 궁금합니다.

는 결과가 다시 하나의 목록으로 온 있도록 당신의 SQL에 가입 할 수있는이

$queryBodytext = mysql_query("SELECT * FROM BodyTexts WHERE CampaignId = " . $campaign_id); 

$queryImages = mysql_query("SELECT * FROM Images WHERE CampaignId = " . $campaign_id); 

$bodytext_ids = array(); 
while($row = mysql_fetch_assoc($queryBodytext)) 
{ 
    $bodytext_ids[] = $row['Id'];  
} 

$image_ids = array(); 
while($row = mysql_fetch_assoc($queryImages)) 
{ 
    $image_ids[] = $row['Id'];  
} 

foreach ($image_ids as $imgId) { 
    foreach ($bodytext_ids as $bodyId) { 
     echo 'Body id: ' . $bodyId . '. ImageId: '. $imgId . '<br />'; 
    } 
} 
+0

그래서 당신은 5 몸과 당신이 4 × 5 = 20 개 행을 인쇄 할 4 이미지가 있다면? –

답변

0

것 같은데? 그런 다음 루핑을 조정하여이를 지원하십시오. 는 SQL은 다음과 같습니다

$ 쿼리 =는 mysql_query ($ CAMPAIGN_ID를 "BodyTexts이 BodyTexts.CampaignId = Images.CampaignId WHERE CAMPAIGNID =의 이미지를 가입 FROM ImagesId로 BodyTextsId으로 BodyTexts.Id, Images.Id를 선택합니다.");

1

왜 쿼리 자체에서 결합하지 않습니까?

0

왜 UNION을 사용하지 않습니까? 여기

은 예입니다 : UNION example

관련 문제