-1

我正在使用一个简单的 PHP 脚本在我的页脚中显示链接。这些链接和锚文本在我的数据库中。使用我正在使用的代码显示链接和锚文本没有问题。这是我的代码在运行时的外观示例。

使用 PHP/MySQL 如何将数据库中的值拉入我的网站并在 while 循环比较中?

我的代码的一小段摘录:

            <?php
                // Change the limit in db_connect.
                $link_counter = 0;
                while ($link_counter < $counter_query_result[1]['counter_value']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $counter_query_result[2]['counter_value']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $counter_query_result[3]['counter_value']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $counter_query_result[4]['counter_value']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $counter_query_result[5]['counter_value']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>


                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < echo $counter_query_result[1]['counter_value_2']; ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
4

3 回答 3

1

你不需要回应它。它已经是一个用于比较的变量:

while ($link_counter < $counter_query_result[1]['counter_value_2'] ){
    echo $links_array[$link_counter];
    $link_counter++;
 }

这假设 的值$counter_query_result[1]['counter_value_2']实际上是int

于 2013-10-25T17:03:36.767 回答
0

假设我们有 20 个链接,我们想要 5 个块,每个块包含 4 个链接。

$links_array = array_chunk($links_array, 5);
foreach ( $links_array as $block_num => $block_links ) { ?>
<div id="footer_links_box">
    <ul>
    <?
    foreach ( $block_links as $link ) {
        echo $link;
    }
    ?>

     </ul>
</div>
<?  } ?>
于 2013-10-25T17:10:50.533 回答
-1

回答我自己的问题。这是解决方案。您不能将数据库查询/结果放在while循环中:(这里的前6行代码是不起作用的旧代码)

<?php
    while ($link_counter < $counter_query_result[3]['counter_value']; ){
        echo $links_array[$link_counter];
        $link_counter++;
    }
?>

相反,您需要将语句分配给一个变量并从循环中调用该变量。以下是一段完整的代码,实际上可以 110% 工作。我现在在我完成的网站中使用它。

下面的代码是完成的代码并且可以工作。

            <?php
                // Start Database Variable For Footer Link Counter //
                $var1 = $counter_result[1]['counter_row_value'];
                $var2 = $counter_result[2]['counter_row_value'];
                $var3 = $counter_result[3]['counter_row_value'];
                $var4 = $counter_result[4]['counter_row_value'];
                $var5 = $counter_result[5]['counter_row_value'];
                // End Database Varibale For Footer Link Counter //
                $link_counter = 0;

                while ($link_counter < $var1 ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $var2 ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $var3 ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $var4 ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
          </ul>
        </div>
        <div id="footer_links_box">
          <ul>
            <?php
                while ($link_counter < $var5 ){
                    echo $links_array[$link_counter];
                    $link_counter++;
                }
            ?>
于 2013-10-25T18:23:41.793 回答