У меня есть следующая функцияMYSQL HAVING ГДЕ не работает
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";
}
}
идея для функции, чтобы вернуть номер-чат с пространством. - Каждый раз, когда пользователь присоединяется к комнате, строка без msg вставлена со статусом онлайн -Все время, когда пользователь выходит из комнаты, строка без msg вставлена со статусом в автономном режиме Теперь я пытаюсь написать функцию, которая проверяет если для каждой темы есть свободные комнаты Идея состоит в том, чтобы выбрать room_num, где количество пользователей, которые вошли в систему, но не вышли из системы, меньше, чем максимальная болтовня в комнате. Может кто-нибудь помочь мне с моей $ sqlii.
Благодаря
Спасибо, я думал, что это будет сложнее ... работает так, как я хотел. Любые советы о том, где я могу изучать расширенные запросы, подобные этому? Это серьезный материал. – JamesBondInBlack
@JamesBondInBlack, Возможно http://dba.stackexchange.com/questions/4821/best-book-to-learn-mysql и http://dba.stackexchange.com/questions/3740/suggest-a-mysql-book -for-me/3749 # 3749? – Pacerier