2011-10-11 228 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