使用PHP循环将多个项添加到单个MySql表

I'm working on a site whereby users can search the Spotify Library and click on results which in turn then add themselves to a 'playlist'. This playlist is then going to be added to a MySql database via PHP. All this is added is the spotify href, but obviously users are going to want to add more than one song to their playlist.

Thanks to Brad's answer below, I now have an improved database structure, but I am still unsure as to how to loop through each song which has been added to the playlist, post all these songs and add them as separate rows in my 'songs' table.

UPDATED This bit of code from 'spotify.js' adds a clicked song to a playlist div, and then adds a hidden input to be submitted. Each time a new song is clicked it creates a new input but the value of each input changes.

$('.spotify-result').click(function() {
     $(this).clone().appendTo($('.selected-list'));
     $('.submit-spotify').before('<input type="hidden" id="track_href" class="track" value="" name="track_href" />');
     $('.track').val($('.track-href', this).text());
});

This is the hardcoded bit of form from 'spotify.php'...

<form action="submit_spotify.php" method="post">
    <input type="hidden" id="track_href" value="" name="track_href" />
    <input type="submit" value="Submit Journix" />
</form>

This is a snippet of 'submit-spotify.php' which currently works but of course only adds the the first song to the database.

if($db_server) {
    mysql_select_db($db_database) or die ("<p>Couldn't find database.</p>");
    $playlist_query = "INSERT INTO playlists (user_id, route_id) VALUES ('$route_id', '$user_id')";
    if (mysql_query($playlist_query)) {
        $song_query = "INSERT INTO songs (href) VALUES ('$href')";
        if (mysql_query($song_query)) {
            $message = "<p>Congratulations, your playlist has been added.</p>";
        } else {
            $message = ("Insert failed. " . mysql_error() . "<br/>" . $song_query);
        }   
    } else {
        $message = ("Insert failed. " . mysql_error() . "<br/>" . $playlist_query);
    }
} else {
    $message = "Error: could not connect to the database.";
}
mysql_close($db_server);

I'm guessing I'll need a loop in there to run through each '.spotify-result' and get the .val() of each one, adding an new to the form for each one? I'm not at all where to go from there to input each one into a new row, or if this is even the correct approach.

From the sounds of it, the method you are using right now will only allow one user to have one playlist. A better method might be to extract it into 3 different table

Users [ id | username ]
Playlists [ id | user_id | playlist_name ]
Songs [ id | playlist_id | href ]

This can be described as:

 "Users can have many playlists" <=> "Playlists will have one user"
 "Playlists have many songs" <=> "Songs have many playlists"

Also, I'm not sure how it works but I'm assuming in the Spotify URL you will have a song ID (http://www.spotify.com?id=V92Ksj2). Instead of storing the whole url, it might be better to store just the song ID.