2013-06-07 2 views
0

변수로 ID를 변경하는 동적 인 분할을 만들려고합니다. 이 외에도 dvision은 팝업입니다. 부서는 데이터베이스에서 정보를 가져 오기 때문에 고유해야합니다. 그동안 루프는 아무것도하지 않는 몇 가지 이유를 들어php while 루프는 변수를 비교하지 않습니다.

<?php 
$index_map = 4; //this variable is already defined in other part of the document. 
//It is just here to specify its value to the readers 

$index_data = 1; 

while($index_data = $index_map) 
{ 

echo ' 
<div data-role="popup" id="mapdata'.$index_data.'" class="ui-content" data-theme="d"> 
    <img class="popphoto" src="style/2nd_floor.png" 
    style="max-height:512px;" alt="Parking_Lot_Map1"> 
    '.$index_data.' 
</div> 
'; 

$index_data++; 
} 
?> 

, 그 후 다른 HTML 데이터를 표시하지 않습니다 : 내가 지금까지 가지고하는 것은 이것이다. 이것은 다른 .php 파일에 포함 된 PHP 문서입니다. while 루프가 어떤 변수를

인식 않는 이유는 = 세트, ==는 비교 때문에
+1

'$ index_data == $ index_map'은 double 같음 –

+0

'$ index_data'는 매 반복마다 항상 '4'값으로 설정 될 것입니다. '4'는 진리로 평가 될 것이기 때문에 무한 루프가됩니다. –

답변

0
정확하게 당신이 (이 없습니다 언급 것이지만)을하려고 무엇

?

심지어 비교를 ==으로 바꾸어도 5 행의 값이인 경우 연산자가 아무 것도 수행하지 않습니다. 이는 4로 변경하지 않으므로 아무 것도하지 않습니다. 첫 번째 실행에서 루프가 false로 표시되므로 설명 된대로 아무 일도 일어나지 않습니다. . 사용 사례에서 $ index_data 필요가, 당신은 그냥 사용하지 수 있습니다 $ index_map

<?php 
    echo ' 
    <div data-role="popup" id="mapdata'.$index_map.'" class="ui-content" data-theme="d"> 
     <img class="popphoto" src="style/2nd_floor.png" 
     style="max-height:512px;" alt="Parking_Lot_Map1"> 
     '.$index_map.' 
    </div> 
    '; 
?> 

당신이 표시하거나 설명하지 않은 코드에 더 많은 것이 아니라면.

+0

@Assimilater가 말했듯이, 나는 잘못된 비교를하고있었습니다. 나는 그것들을 서로 다른 것으로 비교하기를 원한다. 나는 '! ='를 사용하여 다른 것들과 비교해 보았고 이제는 내 코드가 작동한다. 내 코드가 작동하지 않아서 작은 실수를 볼 수 없다는 사실에 눈이 멀었습니다. – JoseD

+0

@ user2455993 그게 더 합리적 일 것입니다. 다행히 도울 수있어. 무슨 일이 일어나고 있는지 잘 모르겠다면 루프 나 다른 작업을 할 때 ** "단계별로 간단한 ** 단계를 작성하는 것이 좋습니다"Variable1 = value1; Variable2 = value2; Variable1 == Variable2? Value1 == value2? 예? 다음 루프 "또는 이와 유사한 실제 이름과 값을 대체합니다. 나는 여전히 내 머리 속에있다. 그러나 그것은 내가 일어나고 있었던 것을 보는 길에 들어가기를 원하는 것없이 사물을 통해 생각하기 시작했습니다. 해피 프로그래밍! – Assimilater

7
while($index_data = $index_map) 

while($index_data == $index_map) 

해야 그나마 없습니다.

0

당신은 항상 true를 반환하는 단일 같음 연산자를 사용하고 있습니다. 비교를 위해, 당신은

while($index_data = $index_map) 

이 있어야 할 == 또는 ===를 사용할 필요가

while($index_data == $index_map) 
관련 문제