2016-09-11 2 views
0

각 쿼리에서 5 행의 데이터를 반환하는 두 개의 쿼리가 있습니다. 그런 다음 결과 배열을 병합하여 하나의 배열을 만듭니다.두 배열을 병합하고 모든 요소를 ​​반환하기 위해 반복합니다.

내가 한이 배열을 사용한 경우 나는 이런 식으로 할 것 :

mysql_select_db($database_iMaint, $iMaint); 
$query_WaterHot = sprintf("SELECT h.UniqueID, h.Room, h.AuditBy, h.AuditDate, h.SeqID, h.WaterHot 
FROM NXLHR_Hist h 
WHERE (h.WaterHot IS NOT NULL OR 
     h.WaterHot IS NOT NULL 
    ) 
     AND 
     h.CompStamp >= DATE('".$_POST['FromDate']."') 
     AND 
     h.CompStamp <= DATE('".$_POST['ToDate']."') 
ORDER BY h.Room ASC 
"); 
$WaterHot = mysql_query($query_WaterHot, $iMaint) or die(mysql_error()); 
$row_WaterHot = mysql_fetch_assoc($WaterHot); 
$totalRows_WaterHot= mysql_num_rows($WaterHot); 


do { 

    echo $row_WaterHot['Room']; 
    echo $row_WaterHot['WaterHot']; 
    echo $row_WaterHot['WaterCold']; 

} while ($row_WaterHot = mysql_fetch_assoc($WaterHot)); 

위 내가 데이터를 정상적으로 처리 것이지만,이 경우에는 내가 왜하는 두 쿼리의 결과를 사용하고 어떻게 I 그들을 병합하고 있습니다.

그래서 이제 병합 된 배열을 반복하여 각 값을 출력해야합니다.

$row_WaterHot = mysql_fetch_assoc($Waterhot); // five records 
$row_WaterCold = mysql_fetch_assoc($WaterCold); // five records 
$Water = array(); 
$Water = array_merge($row_WaterHot, $row_WaterCold); 

foreach ($Water as $key => $value) { 

// how do I echo the results of each value like this 
echo "the name of the $key and the $value 

} 

아니면 다른 방법으로해야합니까?

도움과 시간을 미리 보내 주셔서 감사합니다.

+0

같은 것을 할 것이다? –

+0

힌트 : mysql_fetch_assoc()을 사용하면 매번 한 행만 페치합니다. – Rizier123

답변

0

간단히 대답 foreach 매우 사용하기 쉽습니다. 템플릿은 다음과 같습니다 : 귀하의 경우

foreach($array as $key=>$value){ 
} 

, 당신은`foreach`은이

foreach($Water as $key=>$val) 
     echo $val; 
+0

"foreach ($ Water = $ key => $ val) echo $ val"이라고 쓸 때 각 $ 키와 $ val의 이름을 어떻게 사용하면 표시 할 수 있습니까? 다시 한번 감사드립니다. – DCJones

+0

'echo "$ key $ val"; ' – JOUM

+0

예를 들어, $ key가 "name"이고 value = "Alexis"인 경우. 그런 다음 두 값을 다음과 같이 출력 할 수 있습니다. echo "His $ key is $ val"; 이것은 "그의 이름은 알렉시스"라고 출력 할 것입니다. –

관련 문제