如何将整个消息保存在同一个数组中

时间:2016-03-14 14:13:32

标签: javascript php arrays youtube-api

我正在使用youtube的API,而我正在尝试实现的是将注释存储在数组中,以便这些注释可以在特定时间与视频播放一起弹出。

我有一个解决方案,但我希望它更容易使用。

首先,我从数据库中获取注释以及它们应该弹出并将它们存储在自己的数组中(这里的错误是我使用php生成js数组)。

<?PHP

if(isset($_GET['video'])&& is_numeric($_GET['video'])){
    $idgr = $_GET['video'];
}

$querystring="select at_lenght from comments where Video_ID = '".$idgr."';";
$innerresult=mysql_query($querystring);

echo "message = [";
while ($innerrow = mysql_fetch_assoc($innerresult)) {
    echo "'".$innerrow['at_lenght']."',";
}
echo "];";

$querystring="select likes from comments where Video_ID = '".$idgr."';";
$innerresult=mysql_query($querystring);
echo "likes = [";
while ($innerrow = mysql_fetch_assoc($innerresult)) {
    echo "'".$innerrow['likes']."',";
}
echo "];";
$querystring="select text from comments where Video_ID = '".$idgr."';";
$innerresult=mysql_query($querystring);
echo "text = [";
while ($innerrow = mysql_fetch_assoc($innerresult)) {
    echo "'".$innerrow['text']."',";
}
echo "];";  ?> 

然后我有一部分我的youtube API代码会在每次搜索时通过包含每条评论的开始时间的数组进行搜索,如果匹配,则会弹出消息:

var currenttime=0;
  function checkstop() {
      if(done == true ){
        playingup = setTimeout(checkstop, 1000);

        currenttime =  player.getCurrentTime(); //youtube current time

        for(var u = 0;u < message.length;u++){ //loops through all

                if (Math.round(currenttime) == message[u]) {
                    var messsss = text[u];
                    var likes = likes[u];
                    fadethis(messsss,likes); 
                }           
            }               
         }
      }

不好的是,我必须为消息的所有属性使用这么多单独的数组,并为每个数组分别获取以创建消息。 我可以以某种方式将每个数据存储在同一个数组中,如果是这样,可以轻松获取此信息吗?

0 个答案:

没有答案