while () - не зацикливается - PHP - PullRequest
0 голосов
/ 11 октября 2011

У меня небольшая проблема с моим PHP-циклом while.Я зацикливаю все доступные пакеты членства (и их детали) из моей базы данных.

Мой код такой:

       <?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; ?>

Как вы можете видеть в приведенном выше коде, яделая цикл времени.

Моя проблема в в том, что $mp['pp/ap_price'] внутри #inline_content не зацикливается.Это только взять цену с первого ряда.Хотя в таблице это зацикливается.

В чем здесь проблема?Я попытался сделать еще один цикл внутри #inline_content, но он не сработал.

1 Ответ

1 голос
/ 11 октября 2011

HTML-идентификаторы должны быть уникальными для одного элемента DOM.

У вас есть элемент DOM #inline_content для каждой записи в результате запроса базы данных. Затем, когда вы пытаетесь использовать Javascript для отображения их всех, отображается только один, потому что все они имеют одинаковый идентификатор.

HTML и Javascript не знают о вашем цикле PHP.

Попробуйте использовать атрибут class вместо атрибута id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...