2012-11-13 7 views
-1

안녕하세요.에서 배열 데이터를 가져올 것입니다. 내가 코드를 가지고 있지만, 이전 코드에없는 좋은 작동 CS = 2 내가 여기 인쇄 2 시간이어야에서데이터를 올바르게 가져 오는 방법

<?php include("lib/search_l.php"); ?> 



    <?php 
if($cs!=0){ 
for($i=0;$i<$cs;$i++) 
{ 

?> 



<div id="alarmdisplay"> 
    <table class width="634" border="0" cellspacing="3" cellpadding="3"> 
    <tr class="search"> 
    <td width="256"><?php echo $location_c[$i] ?></td> 
    <td width="154" class="247"><?php echo $duration_c[$i] 
?></td> 
    <td width="194">&nbsp;</td> 
    </tr> 
</table> 

search_l.php에이 코드를 저장 한

for($k=0;$k<$cs;$k++) 
{ 


$SQL = "SELECT duration FROM core_network WHERE location=('".$location_c[$k]."')"; 
$result = mysql_query($SQL); 


$cks="0"; 
$duration=array(); 
while ($db_field = mysql_fetch_array($result)) { 
$duration_c[$cks]= $db_field['duration']; //*here must save to data 
$cks++; 

} 
} 

. 하지만 그것은 다른 하나만 오류가 인쇄됩니다 통지 : 정의되지 않은 오프셋 : 올바른 방법으로 인쇄하는 방법 1?

나는 것으로 나타났습니다 정확한 확인하기 위해 테스트 : 그

$result)) { 
$duration_c[$cks]= $db_field['duration']; 
$cks++; 

} 
} 
echo $duration_c[$cks] //*it prints not correct i meant prints only first test data 

$result)) { 
$duration_c[$cks]= $db_field['duration']; 
$cks++; 

} echo $duration_c[$cks] //*it prints correct i meant prints 2 test data 
} 

이 어떻게 문제를 해결하려면? 당신이 키 유형은 (ASSOC 배열)의 결과를 원하는 경우

+0

루프에 새로운 결과가 나타날 때마다 배열을 반복하고 반복하는 경우가 대부분입니다. – Rob

+0

네, 각각 2 개의 데이터를 가져오고 싶습니다.하지만 이제는이 코드 중 하나만 가져올 수 있습니다. –

답변

0
$duration_c=array();//Should be declared outside loop 

for($k=0;$k<$cs;$k++) 
{ 
    $SQL = "SELECT duration FROM core_network WHERE location=('".$location_c[$k]."')"; 
    $result = mysql_query($SQL); 
    $cks = 0;//String variable 
    while ($db_field = mysql_fetch_array($result,MYSQL_ASSOC)) { 
                //^---------returns associative array 
     $duration_c[$cks]= $db_field['duration']; 
     $cks++; 
    } 
} 
+0

답변을 주셔서 감사합니다.하지만 여전히 해결할 수는 없습니다. 나는 for 루프 밖에서 마지막 데이터만을 출력한다. 안에는 괜찮습니다. –

+0

@Batnasanganpurev var_dump ($ duration_c)를 사용하여 for 루프 외부에서 값을 확인해야합니다. 전체 코드를 표시 할 수 있습니까? – Sibu

+0

안녕하세요. 감사합니다. 감사합니다. 감사합니다. 감사합니다. –

0

대신

mysql_fetch_assoc(); 

사용

mysql_fetch_array(); 
+0

테스트했지만 동일한 결과가있었습니다. 먼저 데이터를 인쇄, 투표 아래) (당신이 (ASSOC 배열) 주요 유형의 결과를 원하는 경우, \t 을 받아 mysql_fetch_assoc를 사용, 유일한 차이점은 내가로 MYSQL_ASSOC()를 사용 whan이었다; 그것은 단지 두 번째 데이터를 출력합니다 –

0

좋아,이 같은 시도, 이것은 당신이 배열에 삽입 된 결과를 얻을 것이다 .

<?php 

for($i = 0; $i < count($duration); ++$i) { 
    echo $duration[$i]; 
?> 
+0

for 루프 밖에서 $ duration을 echo 할 필요가 있습니다. 내부에서는 정상이지만 외부에서는 마지막 데이터 만 인쇄됩니다. –

0

코드에서 간단한 입력 오류가있다 : $duration_c이 밖에 알 수 없기 때문에

$duration=array(); 

달리

$duration_c=array(); 

는 범위 지정의 문제가 될 것입니다해야합니다, 당신의 while 루프.

관련 문제