2012-10-03 28 views
0

即時通訊使用YII FRAMEWORK現在,即時通訊有點開發這個遊戲使用PHP。PHP直到有人插入遊戲

我想知道什麼是我喜歡解決問題的正確代碼..

我嘗試的if-else你,我認爲while循環將答案用。

我有這個數據庫的名稱gameWaiting,我在我的遊戲名有此buttoncreateGame

所以當玩家點擊按鈕createGame現在將插入到數據庫中。

雖然它在名爲gameWaiting的數據庫中,這意味着此玩家正在等待其他玩家。

然後當另一個玩家點擊createGame時,這個玩家會自動加載遊戲。

但我環路我的代碼怎麼能等待其他玩家...

這是正確的代碼?

$game = mysql_query("SELECT * FROM game "); 
while($game_is_not_empty_loop > empty($game)){ 
    // CODES HERE 
} 

我嘗試使用if else,但它停止等待遊戲。 我也嘗試把睡眠(30),所以它會等待另一個球員,但我想這將是沒有用的...

請幫助我。

+0

這聽起來像你正試圖創建基於套接字的遊戲? http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/和http://php.net/manual/en/ref.sockets.php –

回答

1

while循環是不可能的。我有這樣的類型已經創建了一個遊戲。要解決您需要創建一個算法,並需要管理高度優化的數據字段,以查找誰在等待玩家和誰是第二玩家。這太複雜了。

1

不,您的代碼有誤。您僅查詢一次數據庫,並且永遠不會知道之後創建的遊戲。

因此,第一個解決方案是不斷查詢數據庫,直到找到一個遊戲。

不要做!它可能會殺死你的數據庫。

找到另一個是進程間通信,或不太經常查詢數據庫。每10秒鐘可能會好起來,甚至更少。