2010-12-11 25 views
0

データベースからのランダムイメージを表示する実験があり、イメージは3回スクロールされます秒、私は3秒間停止し、3秒間画面をスクロールし、私はクライアント側でこのイメージを格納するインデックス "i"と配列を維持している "i"の値が増分されている場合、別のイメージが画面にスクロール私はデータベースから画像を表示しているので、 "i"がインクリメントされると、データベースから画面に別の画像が表示されるはずです(サーバー側のコードをインクリメントするたびに実行する必要があります)。誰もがいずれかのクライアントサイドで変数がインクリメントされるたびにサーバー側(php)でコードを実行する方法(javaスクリプト)

のサンプルコードで、

//サーバー側

$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

+0

@vishwanath - それは答えになるはずです;) –

答えて

0

を私に言うことができます。

1)必要なすべての画像を1つのSQLクエリで取得し、JavaScript配列に書き込んでください。イメージを回転するのに使用するクライアントサイド

2)画像を変更する必要があるたびにJavaScriptを使用して、window.locationを修正してください。

3)AJAXを使用してJavaScriptからサーバーにリクエストし、別のイメージを取得し、その応答を使用してページに表示されるイメージを変更します。

0

イメージの読み込み速度が気になる場合は、一度にすべてを読み込み、JS配列に保存してください。

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

ページのロード時間を気にする場合は、すべての画像に名前を取得し、JSまたは作るAjaxリクエストであれば、必ずしもサーバーに大きな負荷を作成します。あなたは(画像を必要とするたびにそれらをロードしますか、しかし、あなたがJSにそれらをすべて格納する大量のデータを持っている場合は問題です。またはファイルサイズを大きくしてください)。

関連する問題