Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Cron Одноразовое обновление
715kg  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 179
Пользователь №: 27379
На форуме: 13 лет, 11 месяцев, 6 дней
Карма:




Здравствуйте. Есть такой код. Обновляет информацию сервера.


$servers = dbquery("SELECT * FROM ".DB_SERVERS);
while($r=dbarray_fetch($servers)) {
$serv=serverInfo("$ip:$port");
if($serv['status']=='off'){
$result = dbquery("UPDATE amx_servers
SET
server_status = '0',
server_map = '',
server_players = '0',
server_maxplayers = '0'
WHERE server_ip='"
.$r['server_ip']."'");
continue;}
$name=name_filtered($serv['name']);
$result = dbquery("
UPDATE amx_servers
SET
server_name = '"
.$name."',
server_map = '"
.$serv['map']."',
server_players = '"
.$serv['players']."',
server_maxplayers = '"
.$serv['max_players']."',
server_status = '1'
WHERE server_ip='
$ip:$port'");
}


Засунул его в файл который выбрасывает в браузер инфу о сервере
Но проблема в том, что каждый раз когда обновляешь файл он каждый раз делает запрос к базе чтобы обновить информацию.

Есть код который выводит инфу из бабы

$q = dbquery("SELECT * FROM ".DB_SERVERS." WHERE server_ip = '$ip:$port'"); //Вывод


И код который записывает в базу из $_GET запроса

 $insert = dbquery("INSERT INTO amx_servers (server_ip, server_name) VALUES('$ip:$port', 'Подождите 5 Минут')"); //Запись


Суть в чем, нужно сделать так. Добавляется новый ip:port в базу, он его сразу обновляет. Если такой Ip:port Уже есть в базе, он его обновлять не будет.

Пробовал создавать условия. Отклик от строки вывода. Если запрос вернулся, он не открывает код. Если не вернулся, по идеи он должен задействовать код. Но что то не работает.

$q = dbquery("SELECT * FROM ".DB_SERVERS." WHERE server_ip = '$ip:$port'"); //Вывод
if (mysql_num_rows($q)>0)
{
echo "Запись уже есть. Обновление OFF";
}
else
{

$servers = dbquery("SELECT * FROM ".DB_SERVERS);
while($r=dbarray_fetch($servers)) {
$serv=serverInfo("$ip:$port");
if($serv['status']=='off'){
$result = dbquery("UPDATE amx_servers
SET
server_status = '0',
server_map = '',
server_players = '0',
server_maxplayers = '0'
WHERE server_ip='"
.$r['server_ip']."'");
continue;}
$name=name_filtered($serv['name']);
$result = dbquery("
UPDATE amx_servers
SET
server_name = '"
.$name."',
server_map = '"
.$serv['map']."',
server_players = '"
.$serv['players']."',
server_maxplayers = '"
.$serv['max_players']."',
server_status = '1'
WHERE server_ip='
$ip:$port'");
}

}




Спустя 20 минут, 43 секунды (15.03.2012 - 15:06) 715kg написал(а):
Все сделал. Тему можно удалить. )))
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса