2013-02-21 43 views
1

我在收到新订单时需要添加声音的帮助,我在1分钟时自动刷新并且还有嵌入式声音。但是我只想在新的订单没有到达每一次刷新时播放这个声音,而且我现在没有任何想法来制作它。接到新订单时添加声音

$query="select * from Order where Stare=0 order by ID_Order desc"; 
    $result = mysql_query($query) 
      or die("query failed: " . mysql_error()); 
     while ($row = mysql_fetch_array($result)) 
     { 
      $id_order=$row['ID_Order']; 
      $id_oferta=$row['ID_Oferta']; 
      $nume=$row['Nume']; 
      $prenume=$row['Prenume']; 
      $nume_tot=' '.$nume.' '.$prenume.''; 
      echo'<tr><td>'.$id_order.'</td> 
        <td>'.$id_oferta.'</td> 
        <td>'.$nume_tot.'</td> 
       </tr>'; 

       echo' <embed src="sounds/button-9.mp3" autostart="true" hidden="true" loop="true" name="jukebox"> '; 

     } 
+0

为什么不放一个条件来检查是否有新订单,然后播放声音。 – 2013-02-21 12:51:08

+0

jeron给出了很好的答案,首先你需要保持最后一个订单的价值,并且在刷新时你需要将最后一个订单与最后一行进行比较,如果它不同,你可以播放声音,thnx无论如何 – 2013-02-21 15:32:05

回答

0

您需要保存你最后一次查询的状态,并与当前的比较。

您可以使用会话为:

// at the top of your script 
sesstion_start(); 

    // in your loop 
    $last_order = ID_of_the_first_row_found; // only save the first row ID, use a boolean or counter to keep track of that 

// after your loop 
if (!isset($_SESSION['last_order']) || $last_order !== $_SESSION['last_order']) 
{ 
    // add the sound 
} 
$_SESSION['last_order'] = $last_order; 

理想情况下,你会用ajax做的刷新在JavaScript,这样你就不必刷新整个页面,并获得更好的用户体验。

+1

Hey thnx很多,我没有使用一个计数器,我只是从表中选择最后一行,它再次工作完美thnx :) – 2013-02-21 13:02:30