私は次の機能を持っています
function availableChatRoom($topic_id){
$max_rooms = 2;
$max_users = 2;
$sqli = "SELECT COUNT(DISTINCT room_num) AS numRooms FROM forum_chat WHERE topic_id = '$topic_id'";
$num_rooms = queryColumnVal($sqli, "numRooms");
$sqlii = "SELECT room_num, COUNT(user_id) AS numUsers FROM forum_chat
WHERE topic_id = '$topic_id' AND (status = 'online' AND status = 'offline') AND chat_msg = ''
GROUP BY room_num
HAVING numUsers < $max_users ORDER BY msg_date";
$num_rooms_with_spaces = mysqlNumRows($sqlii, "room_num");
queryColumnVal($sqlii, "room_num");
if($num_rooms == 0){
return 1;
}
elseif($num_rooms <= $max_rooms){
if($num_rooms_with_spaces == 0){
return $num_rooms + 1;
}
else{
return queryColumnVal($sqlii, "room_num");
}
}
else{
return "none";
}
}
アイデアは、関数がスペース付きのチャット ルーム番号を返すことです。-ユーザーがルームに参加するたびに、オンラインのステータスでメッセージのない行が挿入されます -ユーザーが部屋を出るたびに、オフラインのステータスでメッセージのない行が挿入されます各トピックの任意の予備の部屋 ログインしているがログアウトしていないユーザーの数が、部屋ごとの最大チャット数よりも少ない room_num を選択するという考え方です。誰かが私の $sqlii を手伝ってくれませんか?
ありがとう