php - while{while{code}} 无法正常工作

标签 php mysql

我注意到,如果我有一个 while{ while{}} 循环,则不会显示 MYSQL 数据库中的所有数据...

这是 PHP(这是一个工作代码...)

<?php
$conn = mysql_connect("localhost","xfiddlec_user","public");
mysql_select_db("xfiddlec_max");
mysql_set_charset("UTF8", $conn);
?>

<script>
 $(function() 
 {
    var icons = 
    {
        header: "ui-icon-circle-arrow-e",
        activeHeader: "ui-icon-circle-arrow-s"
    };
    $( "#dam" ).accordion({
        icons: icons,
        heightStyle: "content",
        collapsible: true
    });
 });
</script>
<?php
        $construct ="SELECT * FROM Noutati";

        $constructaug ="SELECT * from Noutati WHERE MONTH(DataIntroducere) = 8 AND YEAR(DataIntroducere) = YEAR(CURDATE())";
        $run = mysql_query($construct) or die(mysql_error());
        $runaug = mysql_query($constructaug) or die(mysql_error());
        $foundnum = mysql_num_rows($run);
        $foundnumaug = mysql_num_rows($runaug);

    if ($foundnum==0)
    {
        echo "Nu avem noutăți!";
    }
    else
    {
        echo"<div id='dam'>";


        while($runrows = mysql_fetch_assoc($runaug) )
        {

            echo"
            <h3>August 2013</h3>
            <div><br>";
                while($runrows = mysql_fetch_assoc($runaug))
                {
                    $Luna = $runrows ['Luna'];
                    $Ziua = $runrows ['Ziua'];
                    $Mesaj = $runrows ['Mesaj'];
                    echo "
                    <table class='noutatitabel'>
                        <tr>
                            <td class='faramargini'>
                                <div class='data'>
                                    <div class='luna'>$Luna</div>
                                    <div class='ziua'>$Ziua</div>
                                </div>
                            </td>
                            <td class='albastru'>$Mesaj
                            </td>
                        </tr>
                    </table><br>";                      
                }
            echo"
            <br><hr><br></div>";
        }


        echo"</div>";
    }

?>

数据库包含 6 行。

当执行上面的代码时,会出现 Accordion 菜单,但只显示该数据库的 2 行(对于特定月份 - 第一行未显示),我只是不明白问题出在哪里。如果我删除第一个 while 循环,查询将显示 3 行。我也有一个 fiddle ,可以找到 here .

我做错了什么吗?你遇到过这个吗?我该如何解决这个问题?

谢谢。

最佳答案

为什么会有这两个循环?它们都通过相同的 mysql 结果资源,因此它们会相互干扰。

我想你想做这样的事情:

if(mysql_num_rows($runaug) > 0 )
    {

        echo"
        <h3>August 2013</h3>
        <div><br>";
            while($runrows = mysql_fetch_assoc($runaug))
            {

关于php - while{while{code}} 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18508217/

相关文章:

javascript - Jquery 在控制台中工作,但在复选框启用禁用的实际代码中不起作用

MySql 使用相同的查询随机检索不同的值?

mysql - 如何根据一列对查询结果进行排序?

sql-server - 如何更改 0% 以在存储过程中显示为 0

php - 使用 PDO 和 MySQL 确认记录 INSERT

php - 我仅上传 jpg 和 png 格式并尝试更新已存在的详细信息,但无法在 PHP 中工作

PHP > Zend 框架 > Zend_Money

php - MySQL - PHP Select - 不显示变音符号

php - 确认电子邮件未从 php 和 mysql 数据发送?

php - 网页样式更改后不起作用