2011-12-03 7 views
1

For 루프를 사용하여 테이블의 모든 행을 반환합니다. 각 행을 올바르게 처리하지만 다음 행으로 넘어가더라도 계속 동일한 값을 반환합니다. 다음은For 루프는 동일한 값을 계속 반환합니다.

코드 :

function setLayer($result_set, $row){ 

    $str = "MyMap_".mb_convert_encoding(mssql_result($result_set, $i, 0),"UTF-8","SJIS")."_".mb_convert_encoding(mssql_result($result_set, $i, 1),"UTF-8","SJIS"); 
    return "".$str." = new OpenLayers.Layer.WMS(\"".$str."\",\"http://192.168.0.69/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/mapserver/data/toyama/toyama_mymap.map&service=WMS&SRS=EPSG:2449&VERSION=1.1.1&format=image/PNG&layers=".$str."\", {'layers': '".$str."'}, {isBaseLayer: false, visibility: false,opacity:0.5,alpha:true}); 
    map.addLayer(".$str.");\n\n"; 
} 

루프 :

for($i=0; $i<=$group_layer_row; $i++){ 
    echo setLayer($rs_group_layer, $i); 
} 

내 추론 루프가 모든 행을 통과하지만 그것이주는 유지하므로, $ str을 다른 행을 반영하기 위해 변경되지 않는다는 것입니다 행의 값이 다른데도 같은 값입니다 .... close?

누군가 나를 도와 줄 수 있기를 바랍니다. 고맙습니다.

답변

3

함수는 $row을 허용하지만 몸에 당신은 함수의 끝에서 수익을 추가 할 수 $i

+0

감사합니다. 늦게 회신 해 주셔서 죄송합니다. 서버가 다운되었으므로 지금까지이 변경을 구현할 수 없었습니다. 루프가 현재 행당 적절한 값을 반환하고 있습니다. 다른 오류가 발생했으나 SQL에 대한 다른 질문이므로 새로운 질문을 던집니다. 당신의 도움을 주셔서 감사합니다. – Yus

0

시도를 사용합니다.
@Sylverdrag 제안도 고려해주십시오.

+0

반품이 있습니다. 문제는 그가 $ row 변수를 전달하지만 존재하지 않는 $ i 변수를 사용하려고한다는 것입니다. – Sylverdrag

+0

네가 맞습니다! –

관련 문제