MySQL / PHP只返回一个结果

时间:2013-10-21 17:33:49

标签: php mysql database

我已经看过这样的一些主题,所以我想先说对不起,但这些主题中没有一个解决方案解决了我的问题。

我正在尝试使用php和mysql创建一个动态导航菜单,我在数据库中有多个输入作为虚拟文本但由于某种原因它只想显示一个结果..

这是我的代码:

<?php 
require_once("../includes/connect.php");
include("../includes/header.php");
include("../includes/functions.php"); 
?>
    <div id="content">
        <table id="table">
            <tr>
                <td id="nav">
                    <ul class="info">
                        <?php 
                            $result = mysql_query("SELECT * FROM information LIMIT 10", $connection);

                            while ($row = mysql_fetch_assoc($result)){
                                echo "<li>{$row["menu"]}</li>";
                            $result = mysql_query("SELECT * FROM pages WHERE information_id ={$row["id"]} LIMIT 10", $connection);
                                echo "<ul class=\"pages\">";
                            while ($row = mysql_fetch_assoc($result)){
                                echo "<li>{$row["menu"]}</li>";
                            }
                                echo "</ul>";
                            }
                        ?>
                    </ul>
                </td>
                <td id="main">
                    <h2>Main Content</h2>
                </td>
            </tr>
        </table>
    </div>
    <?php 
    include("../includes/footer.php"); 
    ?>

</body>
</html>

不要讨厌,因为这里有桌子大声笑,它不供公众使用,我会将它转换为网格,当我把它全部设置和运行。我不是一个'专业'的php程序员,所以要好看!

1 个答案:

答案 0 :(得分:1)

我猜问题就在这里..

你正在将数据推送到相同的变量两次....

进行第一次查询并推送到$ result。再次进行另一个查询并将数据推送到相同的var $ result。

尝试将其推向单独的变量

 $result1 = mysql_query("SELECT * FROM pages WHERE information_id ={$row['id']} LIMIT 10", $connection);
                            echo "<ul class=\"pages\">";
                        while ($row1 = mysql_fetch_assoc($result)){
                            echo "<li>{$row1["menu"]}</li>";
                        }