2013-05-13 135 views
1

我有20個flash橫幅,10個亞美尼亞語,10個英語。php通過數組轉換橫幅

$query="SELECT* FROM `reklam` LIMIT 5"; 
     $result=mysql_query($query); 
     while($row=mysql_fetch_array($result)) 
     { 

     if($_SESSION['lang']=='arm') 
     { 
      $swf_name=$row['swf_arm']; 
     } 
     else 
     { 
      $swf_name=$row['swf_eng']; 
     } 
echo'<tr> 
     <td> 
     <div style="text-align: center"> 
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="290" height="299" align="middle"> 
       <param name="movie" value="reklam/'.$swf_name.'.swf" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="#ffffff" /> 
       <param name="play" value="true" /> 
       <param name="loop" value="true" /> 
       <param name="wmode" value="transparent" /> 
       <param name="scale" value="showall" /> 
       <param name="menu" value="true" /> 
       <param name="devicefont" value="false" /> 
       <param name="salign" value="" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
       <!--[if !IE]>--> 
       <object type="application/x-shockwave-flash" data="reklam/'.$swf_name.'.swf" width="290" height="299"> 
        <param name="movie" value="reklam/'.$swf_name.'.swf" /> 
        <param name="quality" value="high" /> 
        <param name="bgcolor" value="#ffffff" /> 
        <param name="play" value="true" /> 
        <param name="loop" value="true" /> 
        <param name="wmode" value="transparent" /> 
        <param name="scale" value="showall" /> 
        <param name="menu" value="true" /> 
        <param name="devicefont" value="false" /> 
        <param name="salign" value="" /> 
        <param name="allowScriptAccess" value="sameDomain" /> 
       <!--<![endif]--> 
        <a href="http://www.adobe.com/go/getflash"> 
         <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
        </a> 
       <!--[if !IE]>--> 
       </object> 
       <!--<![endif]--> 
      </object> 
     </div> 
     </td> 
     </tr>'; 
     } 

橫幅的名稱來自數據庫。如果網站語言設置在亞美尼亞語上,它應該出現亞美尼亞語橫幅,如果英語 - 英語(會話)。正如我所說有10個橫幅,但我需要立即顯示5,所以我包括在查詢限制5中。現在的任務是,我需要做橫幅的旋轉。我的意思是當我刷新頁面時,應該隨機選擇橫幅。我應該怎麼做?

謝謝!

回答

4

您可以使用MYSQL RAND()

$query="SELECT* FROM `reklam` ORDER BY RAND() LIMIT 5"; 
4

有辦法做到這一點了一大堆,但考慮到這裏只有記錄一個小數目,你不需要做任何事情太聰明。

你最簡單的選項是:

  • 使用ORDER BY RAND()在SQL查詢。

  • 只需加載所有記錄,使用PHP的shuffle()函數隨機地重新排序數組,然後只顯示數組中的前五個。

說實話,隨着你在這裏談論的記錄數量,它不會產生巨大的差異。對於大型數據庫,由於性能原因,這些選項都不是一個好主意,但是對於大小數據庫而言,這兩個選項都非常好。

0

你可以在你的表稱爲加1場 - 視圖(INT)

挑大旗與少顯示器和運行1更新後:

$sql = "SELECT * FROM `reklam` ORDER BY `views` ASC LIMIT 5"; 
$sql = "UPDATE `reklam` SET `views`=`views`+1 WHERE ID IN(IDS FROM SELECT)"; 

這樣你會得到和統計你的廣告有多少展示..