如何在PHP中巧妙地停止"while循环"?

Nea*_*VDV 0 php mysql database while-loop

我在创建与mysql数据库行对应的一堆东西的代码时遇到了麻烦.它需要继续创建内容,直到使用所有行然后停止.

当前存在的行数为5

但由于某种原因,php文件导致浏览器继续加载(它永远不会结束).任何帮助,将不胜感激!谢谢!

问题不在于这个PHP文件,而是在我的HTML代码中,感谢大家的帮助

<?php 

mysql_connect ("localhost", "root", "") or die ("We couldn't connect!");
mysql_select_db ("dr");
mysql_query ("SELECT * FROM songs");
$result = mysql_query ("SELECT * FROM songs");

while ($row=mysql_fetch_array($result)) {

    $name = $row ['songname'];
    $genres = $row ['songgenres'];
    $mediafire = $row ['mediafirelink'];
    $dropbox = $row ['dropboxlink'];
    $source = $row ['audiosource'];

    echo "
    <div class='playing'>
            <!-- ======== Song Name ======== -->
                <li class='songnameli' id='$source'>
                    <span class='info'>$name</span>
                    <audio>
                        <source src='music/singles/$source.mp3'>
                        <source src='music/singles/$source.ogg'>
                    </audio>
                </li>

            <!-- ======== Playlist ======== -->
                <li class='playlistli'>
                    <img src='icons/addtoplaylist.png' title='Add tot the playlist!' />
                </li>

            <!-- ======== Genres ======== -->
                <li class='genresli'>
                    <img src='icons/genres.png' title='Related genres' />
                    <span class='addedtext genres'>$genres</span>
                </li>

            <!-- ======== Social Media links ======== -->
                <li>
                    <span>
                    <img src='icons/share.png' alt='Share this with your friends!' title='Share this!'>
                    <!-- /// facebook /// -->
                        <a href='http://www.facebook.com/sharer.php?u=http://www.declassified-recordings.com'
                           class='addedtext nlink'
                           target='blank_'
                           onclick='popup (this.href, 800, 500); return false'>Facebook
                        </a>

                    <span>/</span>

                    <!-- /// Twitter /// -->
                        <a href='http://twitter.com/share?
                            text=Thank%20you%20For%20Sharing!%20It%20means%20the%20world%20to%20us!%40Declassifi3d%20
                            &url=http://www.declassified-recordings.com'
                           class='twitterlink nlink'
                           target='blank_'
                           onclick='popup (this.href, 800, 500); return false'>Twitter</a>


                    </span>

                </li>

            <!-- ======== Download links ======== -->

                <li>
                    <img src='icons/download.png' title='Download!'  />
                    <span>
                        <!-- /// Mediafire /// -->
                            <a href='$mediafire'
                               class='addedtext nlink'
                               target='_blank'>Mediafire</a>

                        <span class='genres'>/</span>

                        <!-- /// Dropbox /// -->
                            <a href='$mediafire'
                               class='twitterlink nlink'
                               target='_blank'>Dropbox</a>


                    </span>
                </li>
    </div>";
}
mysql_close ();
?>
Run Code Online (Sandbox Code Playgroud)

Jak*_*uld 5

首先,为什么这两个mysql_query命令彼此重叠如下:

mysql_query ("SELECT * FROM songs");
$result = mysql_query ("SELECT * FROM songs");
Run Code Online (Sandbox Code Playgroud)

只是摆脱第一个并可能将实际的SQL设置为变量,如下所示:

$query_sql = "SELECT * FROM songs";
$result = mysql_query ($query_sql);
Run Code Online (Sandbox Code Playgroud)

但具体问题是,从这个改变你的MySQL查询:

"SELECT * FROM songs"
Run Code Online (Sandbox Code Playgroud)

LIMIT作为您的一部分使用SELECT:

LIMIT子句可用于约束SELECT语句返回的行数.LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外).

例如,像这样:

"SELECT * FROM songs LIMIT 0,50"
Run Code Online (Sandbox Code Playgroud)

然后你可以编写一些逻辑来处理分页,例如:

$start = 0;
$how_many = 50;
$query_sql = "SELECT * FROM songs LIMIT $start, $how_many";
$result = mysql_query ($query_sql);
Run Code Online (Sandbox Code Playgroud)