如何在数据库中的div中保存值?

时间:2014-04-13 22:12:03

标签: javascript php jquery html append

我目前正在开发一个HTML5音乐播放器,屏幕上嵌有歌词,用户可以添加和同步自己的歌词,主要是为了它的乐趣。无论如何,我已经相当远了。我已经完成了播放器,控件,我甚至完成了显示歌词并同步它们的内容。这是棘手的部分。

$(".newTime").click(function(){
    $( "#nowtime"+onNum ).append( player.currentTime );
    var oldNum = onNum;
    onNum = oldNum + 1;
});

这是我添加代码的地方。我按下一个div,它使用Jquery将当前时间追加到一个看起来像<div class='time' id='nowtime1'></div>的div。

这是我从数据库中获取歌曲的地方(在另一位stackoverflow用户的帮助下)

<?php 
    $res = mysqli_query($mysqli, "SELECT * FROM song WHERE id = 1");
    $row = mysqli_fetch_assoc($res);
    mysqli_set_charset("utf8");

    $lines = preg_split("/[\r\n]+/", $row['lyric']);
    $noLines = count($lines);

    array_walk($lines, function(&$line, $idx, $idx) {
      $line = sprintf("<h4 id='no%d'><div class='time' id='nowtime%d'></div>%s</h4>", $idx+1, $idx+1, $line);
    });

    echo implode("\n", $lines);
?>

这完全没问题。但是,正如您所看到的,当我将时间添加到div时,我将其添加到DOM元素中。我实际上将它添加到多个DOM元素中,因为它是多行文本。我现在的问题是,我究竟要在数据库中输入时间然后再次获取它?我的想法是在表格中有一个名为time的列。然后,我会根据#nowtime中的顺序输入文本,因此如果它是#nowtime1,它将进入第一行,如果它在#nowtime16中,则会添加在第16排。然后当你再次接收它时,你只需将它添加到正确的div中,具体取决于它所在的行。

我不知道这是否是最好的方法,但这是我提出的唯一方法。

0 个答案:

没有答案