php,mysql_query,mysql_fetch_array while <a href=""></a>的循环

时间:2014-09-07 15:11:52

标签: php mysql while-loop

我是PHP的新手,我正在建立一个音乐库作为学校项目。

有一张表&#39;专辑&#39;持有&#39; id&#39;并且&#39; name&#39;。 还有一张表&#39;歌曲&#39;包含&#39; id&#39;,&#39; name&#39;,&#39; album_id&#39;和&#39;路径&#39;。

长话短说,我试图显示所选专辑中的所有歌曲。 用户创建一个专辑,然后将歌曲上传到其中。该部分工作正常,并且正确填写了数据库。 问题是,一旦我选择了一张专辑来查看其中的歌曲,我什么也得不到。

        <?php
        $album_id = $_GET['id'];
        //display songs from selected album
        $query = mysql_query("SELECT * FROM songs WHERE album_id = $album_id");
        while ($fetch_songs = mysql_fetch_array($query)) {
            $song_name = $fetch_songs['name'];
            $song_path = $fetch_songs['path'];
            ?>
                    <a href="music/<?php echo $song_path ?>">play song</a>
                    <br/>
                    <b><?php echo $song_name; ?></b> 
            <?php
        }
        ?>

    </div>   

我相信使用href是最简单的选择,但我也尝试过音频控制,甚至尝试使用img src上传图像而不是MP3但仍然没有成功,我只是得到一个空白页面。

这是将歌曲上传到数据库的代码。

            if (isset($_POST["upload"])) {
                $name = $_POST['name'];
                $album_id = $_POST['album'];

                $file_name = $_FILES['file']['name'];
                $file_type = $_FILES['file']['type'];
                $file_size = $_FILES['file']['size'];
                $file_tmp = $_FILES['file']['tmp_name'];
                $random_name = rand();


                if (empty($name) || empty($file_name)) {
                    echo "Please fill all fields in the form ! <br/>";
                } else {
                    move_uploaded_file($file_tmp, 'music/' . $random_name . '.mp3');
                    mysql_query("INSERT INTO songs VALUES ('','$name','$album_id','$random_name.mp3')");

                    echo "File uploaded ! </br></br>";
                }
            }
            ?>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这段代码:

while ($fetch_songs = mysql_fetch_array($query, MYSQL_ASSOC))

更多信息:http://php.net/manual/en/function.mysql-fetch-array.php