Да, а как теперь её востановить ?
ну вставить в эту таблицу строку, сопоставимую твоему персонажу. в поле id вписать id твоего персонажа из таблицы юзеров, в поле data текущее время входа в игру, в room - комнату в которой персонаж сейчас у тебя находится, можно посмотреть в таблице users в поле room. Либо зарегить нового чара, через страницу регистрации и он тебе добавит всю нужную инфу в таблицу online для этого нового пользователя.
А вообще на самом деле эта таблица online лишняя и только захламляет структуру базы и создает лишнюю нагрузку на сервер, я бы так никогда не стал делать. Потому что достаточно при авторизации в таблицу users в какое-нибудь поле например назовем его lastvisit записывать текущее время входа в игру. В модуле списка онлайн, пишем sql запрос, который выбирает пользователей с таким же значением поля room, как у нашего персонажа и с полем lastvisit, которое больше, чем текущее время минус 60 секунд например, т.е. например если человек закрыл вкладку с игрой не нажав на кнопку выход, то через одну минуту он будет считаться оффлайн и выбираться из таблицы не будет и все, никаких лишних и дополнительных таблиц не нужно, причем выборку желательно делать не по всем полям, а только по реально нужным (login, level и т.д.) потому что в этих ваших движках таблица users содержит много лишнего хлама, я бы в ней оставил только действительно нужные поля, а всю вторичную инфу вынес бы в отдельную таблицу, такие как девиз, о себе и все прочее такое.
т.е. примерно так бы мог выглядить ваш новый модуль списка онлайн
Код:
<?php
$user->lastvisit($_SESSION['uid']); // время последнего действия в игре
$user->user_info($_SESSION['uid']); // инфа о нашем персонаже
$sql = "SELECT `id`, `align`, `klan`, `login`, `level`, `borncity` FROM `users` WHERE `room` = '{$user->user['room']}' AND `gamecity` = '{$user->user['gamecity']}' AND `lastvisit` > ".time() ." - 60 ORDER BY login ASC";
$result = $db->sql_query($sql);
$amount = $db->num_rows($result);
require_once('./tpl/online.tpl'); // подключаем шаблон вывода списка онлайн
?>
Ну а в шаблоне циклом обрабатываем результат запроса, и получаем ассоциативный массив
Код:
<?php
echo $online->rooms_name[$user->user['room']] . ' (' . $amount . ')
';
while($row = $db->sql_fetchassoc($result)) :
?>
<script type="text/javascript" language="javascript">pers(<?=$row['id'] ?>, <?=$row['align'] ?>, '<?=$row['klan'] ?>', '<?=$row['login'] ?>', <?=$row['level'] ?>, '<?=$row['borncity'] ?>')</script>
<?php
endwhile;
?>
Вот вам полностью готовый модуль списка онлайн) писал когда-то давно, когда этот движок олдбк наделал много шума) У меня тут правда юзаются методы класса, который работает у меня с базой данных, т.е. методы sql_query(), num_rows() и sql_fetchassoc() являются аналогами mysql_query(), mysql_num_rows() и mysql_fetch_assoc() соответственно, сделано это для того, чтобы если я вдруг или кто-то другой решит использовать другую базу данных, отличную от mysql, не лез и не правил названия всех функций на аналогичные для работы с другой базой данных, во всех файлах, а достаточно того, чтобы он либо мои методы в классе поправил в одном файле, либо свой класс подгрузил для работы с БД и все будет работать, с минимальными затратами человеческого ресурса.
Ну и т.п.) я поэтому и плюнул на все эти движки, в них вообще ничего не продумано, писалось все сходу, по мере надобности) Если писать что-то серьезное, нужно по любому обходиться без этих всяких движков)