2011-03-25 3 views
1

에 루프에 표시 DIV ID를 얻을 수 없습니다. getElementById() 함수를 만들려고 루프 아래에 div ID를 추가하려고했습니다. 그러나 위의 루프는 자체적으로 루프를 만듭니다. 또한 tr 문을 변경할 수 없습니다. 나는 실제로 코드 이그니 터 (Code Igniter)의 모든 tr 문을 검색하고 바꾼다. 아직 거기에있다. 나는 아주 초심자이고, 이것이 3 일 동안 나를 당황하게하고 있었기 때문에, 어떤 충고도 정말로 바르게 평가할 것이다.는 내가 루프를 작성하는 명령이 코드 점화

<tbody id="cart_contents"> 
<?php 
if(count($cart)==0) 
{ 
?> 

<tir><td colspan='8'> 
<div class='warning_message' style='padding:7px;'><?php echo $this->lang->line('sales_no_items_in_cart'); ?></div> 
</tr></tr> 



    <?php 
} 
else 
{ 
    echo "</tr><tir>"; 

     foreach($cart as $line=>$item) 
    { 


    ?> 


     <td id = " <?php echo $item['name'];?>" style="align:center;" ><?php echo $item['name']; ?></td> 



     <?php if ($items_module_allowed) 
     { 

     ?> 
      <td><?php echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6'));?></td> 
     <?php 
     } 
     else 
     { 
     ?> 
      <td><?php echo $item['price']; ?></td> 
      <?php echo form_hidden('price',$item['price']); ?> 
     <?php 
     } 
     ?> 

     <td> 
     <?php 
      if($item['is_serialized']==1) 
      { 
       echo $item['quantity']; 
       echo form_hidden('quantity',$item['quantity']); 
      } 
      else 
      { 
       echo form_input(array('name'=>'quantity','value'=>$item['quantity'],'size'=>'2')); 
      } 
     ?> 
     </td> 

     <td><?php echo to_currency($item['price']*$item['quantity']-$item['price']*$item['quantity']*$item['discount']/100); ?></td> 

     <?php 
      if($item['allow_alt_description']==1) 
      { 
      } 
      else 
      { 
       if ($item['description']!='') 
       { 
       } 
       else 
       { 
       } 
      } 
     ?> 
     </td> 
     <td>&nbsp;</td> 
     <td style="color:#2F4F4F";> 
     <?php 
      if($item['is_serialized']==1) 
      { 
      } 
     ?> 
     </td> 
     <td colspan=3 style="text-align:left;"> 
     <?php 
      if($item['is_serialized']==1) 
      { 
      } 
     ?> 
     </td> 


     </tr> 
     <tr style="height:3px"> 
     <td colspan=8 style="background-color:white"> </td> 
     </tr>  </form> 
    <?php 
    } 


} 
?> 
</tbody> 
</table>  </div> 

이것은 원래 루프의 HTML 출력입니다.

<tr><td id=" test" style="align:center;">test</td> 

    <td><input type="text" name="price" value="150.00" size="6"></td> 

    <td> 
     etc... 
    </td> 


</tr> 
+0

하면, 루프 전체를하시기 바랍니다 게시 할 수 있습니까? – marramgrass

+0

빠른 답장을 보내 주셔서 감사합니다. 위의 PHP 코드를 방금 업데이트했습니다. 안부, 사이몬 – simon

+0

죄송합니다, 정말 어떤 문제인지 이해하지 못합니까? 그게 (아닌) 무엇이고, 무엇을하기로되어 있습니까? – Czechnology

답변

0

귀하의 문제는 귀하의 PHP와 관련이 없습니다. 귀하의 html로 생각됩니다.

귀하의 HTML 열기 및 닫기 태그가 모두 일치하지는 않습니다. 일부 요소가 열려 있고 열려 있지 않은 코드는 <tr>이고 if/else 문 구조로 양식 태그가 작동하지 않으며 실제로는 열기 <table> 태그 또는 열기 <div> 태그가 맨 위에 없습니다 둘 다 끝내는 동안 코드의 반복문에서 발생하기를 기대하는 루프 위의 div는 아마도 깨진 페이지 구조를 해석하려는 브라우저의 결과 일 것입니다.

앞서 언급 한 양식 태그에서 if 문을 사용하여 양식을 여는 경우 if 문이 false로 평가되는 경우 필요한 양식을 열 수있는 조건이 있어야합니다. 나는 당신이 if 요소 안에 form 요소를 가지고 있다고 생각하고 다음에 else 문의 일부로 양식 입력을한다고 생각한다.

나는 당신의 게시 된 코드를 단순화 시도하고이를 설명하는 코멘트를 포함 시켰습니다 :

<tbody id="cart_contents"> 
<?php if(){?> 
    <tir><!--what's a 'tir'?, did you mean 'tr'?--> 
     <td colspan='8'> 
      <div class='warning_message' style='padding:7px;'> 
      </div> 
     </tr> 
    </tr> 
<?php }else{ 
    echo "</tr><tir>";//here you are closing a row that was never opened, and another 'tir'. 
    foreach($cart as $line=>$item){?> 
      <td></td> 
      <?php if(){ //here you call a form input before the form is created...?> 
       <td><?php echo form_input();?></td> 
       <?php }else{?> 
       <td></td> 
       <?php echo form_hidden(); 
       //this form isn't in a table element, which might act weird?> 
      <?php }?> 
      <td><?php if() { 
        echo form_hidden(); 
       }else{ 
        echo form_input()); 
        //here you have a form input outside of a form if 
        //the previous if statement evaluates to false. 
       }?> 
      </td> 
      <td></td> 
      <?php if(){ } 
      else { 
       if(){} 
       else{} 
      }?> 
     </td><!--this td was never opened--> 
     <td>&nbsp;</td> 
     <td></td> 
     <td></td> 
    </tr><!--this tr was never opened--> 
    <tr><td></td></tr>  
    </form><!--I don't believe you can count on your conditional statements to garantee that a form was opened--> 
    <?php } 
    } ?> 
</tbody> 
</table> <!--you haven't opened your table in this code--> 
</div><!--you havent' opened a div in this code--> 
+0

답장을 보내 주셔서 감사합니다. 루프를 다시 재생하여 div를 표시하는 방법을 발견했습니다. 나는 스크립트가 구조를 바꾼 것으로 부르고있는 것이 있다고 생각한다. 내 문제는 이제 모든 양식 요소에 ID를 부여했으며 ID로 문서를 가져 와서 호출하려고합니다. 그것은 작동하지 않습니다. 이 작업을 수행하는 쉬운 방법이 있습니다. – simon

관련 문제