2010-12-11 34 views
0

我有一個實驗,它顯示數據庫中的隨機圖像,圖像在屏幕上滾動顯示3秒,暫停3秒鐘,然後滾動屏幕3秒鐘,然後我維護一個索引爲「i」的數組,以便在客戶端存儲這些圖像,如果「i」值增加,另一個圖像會滾動到屏幕上,因爲我正在顯示來自數據庫的圖像,如果「i」遞增,則應從數據庫顯示另一圖像到屏幕上(意味着每次我遞增時,應執行服務器端的代碼)。誰能告訴我如何做到這一點?如何在客戶端(java腳本)每次增加變量時在服務器端執行代碼(php)

下面是示例代碼,

//服務器端

$myQuery = "SELECT * from image WHERE img_id NOT IN (SELECT img_id from randomtrees where sid=".$sid.") ORDER BY rand() LIMIT 1"; 
$conn = mysql_connect("localhost","xxxxxx","xxxxxxxxxxxx"); 
mysql_select_db("database_name",$conn); 
$result = mysql_query($myQuery); 

$imagepath = 'path to the images folder which is in local host'; 
while ($row = mysql_fetch_array($result)) 
{ 
    $img = $imagepath.$row['img_name']; 
    $id = $row['imageid']; 
    $img_id = $row['img_id']; 
} 
mysql_close($conn); 

//客戶端

slideimages[i++] = '<img src="<?php echo $img ?>" id="<?php echo $id?>" name="r_img"/>' ; 
+2

ajax !!!!!!!!!!! – Vishwanath 2010-12-11 07:34:19

+0

@vishwanath - 這應該是一個答案;) – 2010-12-11 07:53:32

回答

0

或者:

1)在一個SQL查詢中檢索您需要的所有圖像,並將它們寫入JavaScript數組中,您的腳本可以用於旋轉客戶端的圖像

2)每次修改圖像需要更改window.location時,使用JavaScript刷新頁面。

3)使用AJAX從JavaScript向服務器發送請求以獲取另一個圖像,並使用響應更改頁面上顯示的圖像。

0

如果你關心圖像加載時間的速度,先用php立即檢索它們,並將它們存儲在JS數組中。

Var X[]=<?php json_encode($imgs) ;?>; 

如果你關心頁面加載時間,你可以得到所有圖片的名稱,如果一定與JS加載它們或者使Ajax請求每次你需要的圖像時(這將在服務器上創建一個沉重的負擔但如果你有大量的數據存儲他們都在JS是一個問題或增加文件的大小,然後去它)。

相關問題