2012-10-23 67 views
0

我不确定是否有可能,或者如果有另一种方法来做到这一点,但我一直在试图循环使用PHP的JavaScript函数。PHP循环JavaScript函数

的JavaScript/PHP函数:

<script type="text/javascript"> 
<?php 
while ($songsFunction = mysql_fetch_array($result3)) { 
    echo "function ".$songsFunction['songID']."(){"; 
    echo "document.getElementById('ogg').src='';"; 
    echo "document.getElementById('mp3').src='';"; 
    echo "document.getElementById('songName').innerHTML='';"; 
    echo "audio.load();"; 
    echo "playPause();"; 
    } 
?> 
</script> 

我有songID显示在播放列表上了:

<?php while ($haha = mysql_fetch_array($result3)) { 
    echo '<ul> 
      <li> 
      <a href="#" onClick="'.$songFunction['songID'].'();">'.$songFunction['songName'].'</a> 
      <a href="'.$songFunction['mp3Link'].'"><img src="../images/download.png"></a> 
      </li> 
      </ul>'; 
    } 
?> 

播放列表正常循环,但是当我得到的功能工作,如果songID的匹配起来,播放列表消失。

这是正确的方式来循环JavaScript函数,同时通过带变量的数据库提取信息?

+1

我不认为生成几个JavaScript函数是你想要的。只需将您需要的参数传递给单个JavaScript函数即可。 – scunliffe

+1

如果'$ songFunction ['songID']'是一个数字,用非数字前缀输出 - 函数名称不能以数字开头。 – pozs

+0

对不起,乱码/无组织的代码。目前只是试图在我使所有的事情都有效/有组织之前得到它的工作。 – user1719526

回答

0

你没有关闭你的JavaScript函数。

0

我不知道你想什么来完成,但唯一的JavaScript我看到操纵DOM只是删除内容...

echo "document.getElementById('ogg').src='';"; 
echo "document.getElementById('mp3').src='';"; 
echo "document.getElementById('songName').innerHTML='';"; 

因此任何内容曾经有过这些项目将被删除。这是你的意图吗?或问题的根源?

+0

我知道他们正在擦除那里有什么。截至目前,我不需要他们有任何东西。我只是遇到了实际循环播放列表和功能的问题。 – user1719526

0

这绝对是不是的方式来做到这一点。

场景应该是:

  1. 用户从播放列表中点击歌曲。
  2. 点击事件被触发,发送一个ajax请求到php脚本。
  3. PHP脚本从数据库中提取数据并返回格式为json
  4. 的响应js代码使用json响应并对其执行操作。
+0

只是好奇 - 为什么ajax需要?一个简单的URL到文件名肯定是所有需要和已经提供的,不是吗? – scunliffe

+1

^Ajax真的不需要这个。 – user1719526

+0

你应该从中获得主要的东西,你应该分开js和PHP代码。 – Tomer