2012-06-15 3 views
0

오디오 파일에 대한 링크가 포함 된 데이터베이스가 있습니다. HTML 오디오 태그를 사용하여 하나씩 재생하려고합니다. 현재 PHP를 사용하고 있습니다. 내 코드 - 내가 바로 그 일을하고 있다면 어떤 일이 말해 줄 수로드하는 HTML과div를 지우고 새 오디오 콘텐츠를 새로 고침

<?php 
     PlayAud($res) { 
      $raud = mysql_fetch_array($res); ?> 
     <div id="test"> 
     <audio> ... </audio> 
     </div> 
<?php }?> 

에 AUD 파일에 대한 링크를 통과하고

$sql = "SELECT * FROM table"; 
    $r = mysql_query($sql); 

     while($row = mysql_fetch_array($r)) { 
      $id = $row["audID"];             
      $audsq = "SELECT * FROM table2 WHERE id ='$id'";    
      $resultaud = mysql_query($audsq); 

      //Here I want to write a code to clear div="test" 

      PlayAud(resultaud); 
      sleep(2); ///Not Sure    
     } 

? 또한 각 클립은 2 초이므로 2 초 동안 while 루프에서 기다려야합니다. 다른 방법이 있다면 나에게 제안 할 수 있니?

당신은

+3

브라우저가 실행되기 전에 PHP가 서버 측에서 실행됩니다. PHP에서'sleep (2)'를 추가하면 브라우저가 전체 페이지를 보는데 오래 기다릴뿐입니다. JavaScript 솔루션이 필요합니다. – Blazemonger

+0

먼저 - 하나의 쿼리를 실행해야합니다. ['JOIN's in mysql] (http://dev.mysql.com/doc/refman/5.0/en/join.html)에 대해 읽어보십시오. ['PDO'] (http://php.net/manual/en/ref.pdo-mysql.php) 또는 ['mysqli_ *'] (http : //) /php.net/manual/en/book.mysqli.php)는 좋은 대안이며, [JavaScript] (https://developer.mozilla.org/en/JavaScript)와 [AJAX ] (https://developer.mozilla.org/en/Ajax) PHP가 클라이언트가 아닌 서버에서 실행되기 때문에 .... – ManseUK

답변

0

당신은 PHP에서 사업부를 지울 수 없습니다. 그 이유는 php가 서버에서 실행되고 div가 클라이언트에 반향되기 때문이며, php가 도달 할 수 없기 때문입니다.

여기 해결책은 클라이언트 측 스크립팅 (JavaScript 사용)을 사용하는 것일 수 있습니다. 오디오 태그 나 그 내용을 대체하는 함수를 프로그래밍하면 사전로드 메커니즘을 구현하는 것이 좋습니다.

인사말, 요스트

0

당신은 PHP에서 원하는 것을 할 수 없습니다 감사합니다. 자바 스크립트를 사용해야합니다. 이 질문은 당신을 도울 것입니다 :

Update content of div auto

0

흠 .... 브라우저가 그것을 처리하도록해야 div에 분명합니다, 당신은 자바 스크립트를 통해 그렇게 할 수 있습니다.

echo "<script>document.getElementById('test').innerHTML = '';</script>"; 
//Then do what you needed to do 
관련 문제