2011-10-11 225 views
-2

我的PHP while while循环有一点问题。我从我的数据库中循环了所有可用的会员套餐(以及详细信息)。while() - 不循环 - PHP

我的代码是这样的:

 <?php 
        while($mp = mysql_fetch_assoc($s)): 
        ?> 
        <tr class="hover"> 
         <td class="name" width="30%"><?php echo $mp['membershipname']; ?></td> 
         <td class="price" width="30%">$<span><?php echo $mp['ap_price']; ?></span>/<span><?php echo $mp['duration']; ?></span> days.</td> 

         <?php if($userdata['membership']>$mp['membershipid']): ?> 
          <td width="40%" class="purchase"></td> 
         <?php else: ?> 
          <td width="40%" class="purchase" > 
          <a href="#" id="upg<?php echo $mp['id']; ?>" class="click cgreen inline">Pricing</a> 
          </tr> 
         <?php endif; ?> 

      <div style='display:none'> 
       <div id='inline_content' style='padding:10px; background:#fff;'> 

        <div style="text-align:center;font-weight:bold">Please select your payment method:</div> 

        <div style="text-align:center"> 
        <br /> 
        <?php 
        if($sdata['allow_paypal'] == 1 && $mp['pp_price']>0 && $userdata['paypal']!=""): ?> 

        <form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="float:left;" > 

        <input type="submit" name="submit" class="click cblue" value="PayPal - $<?php echo $mp['pp_price']; ?>"> 
        </form> 

        <?php endif; 
        if($sdata['allow_alertpay'] == 1 && $mp['ap_price']>0 && $userdata['alertpay']!=""): 
        //Do not change any input fields, OTHER than return URL (if needed) 
        ?> 

        <form method="post" name="ap" action="https://www.alertpay.com/PayProcess.aspx" style="float:right;" >  

        <input type="submit" name="submit" class="click cgreen" value="AlertPay - $<?php echo $mp['ap_price']; ?>" /> 

        </form> 

        <?php  
        endif; ?> 
              </div> 
      </div>       


      </div> 
        <script> 
         $(document).ready(function(){ 
          $("#upg<?php echo $mp['id']; ?>").colorbox({inline:true, width:"30%",href:"#inline_content"}); 
         }); 
        </script>    
        <?php endwhile; ?> 

正如你可以在上面的代码中看到,我在做一个while循环。

我的问题是即#inline_content里面的$mp['pp/ap_price']没有循环。它只从第一行开始。虽然,它在表中循环。

这里有什么问题?我试图在#inline_content内部做另一个循环,但它不起作用。

+1

请删除所有不必要的细节。在这里制作一个只有几行的测试用例应该很容易。例如我们当然不需要浏览_all_那个HTML ... –

回答

1

HTML ID应该是唯一的一个 DOM元素。

你有一个DOM元素#inline_content记录在您的数据库查询结果。然后,当您尝试使用Javascript将其全部显示出来时,只会显示一个,因为它们都具有相同的ID。

HTML和Javascript不知道你的PHP循环。

考虑使用class属性而不是id属性。

+0

谢谢!有效。 – oliverbj