используя URFA (Urfa-php).
потому как при прямой инъекции в базу новых логинов потребуется перезапуск ядра и радиуса,но если уж очень хочется.....
то как то так..
n.php
Код: Выделить всё
<?php
@header ( 'Content-Type: text/html; charset=UTF-8');
$link = mysql_connect("localhost","root","вашпароль");
mysql_select_db("UTM5",$link);
mysql_query("SET NAMES utf8");
$res = mysql_query("
SELECT
ig.id,
ig.uname,
inet_ntoa(ig.ip)
FROM
users u,
service_links sl,
iptraffic_service_links isl,
ip_groups ig,
accounts a
WHERE
u.id=sl.user_id
AND u.basic_account=a.id
AND a.block_id !=0
AND ig.uname NOT REGEXP '^N'
AND isl.id=sl.id
AND isl.ip_group_id=ig.ip_group_id
AND ig.is_deleted=0
AND u.is_deleted=0
AND sl.is_deleted=0
ORDER BY u.id;");
echo "<table width='100%' border=1><thead><tr><th>ID</th><th>login</th><th>IP</th></tr></thead><tbody>";
while(list($id,$uname,$ip) = mysql_fetch_row($res))
{
echo "<tr><td>$id</td><td>$uname</td><td>$ip</td></tr>";
mysql_query("UPDATE `ip_groups` SET `uname`='N$uname' WHERE `id`='$id'");
}
echo "</tbody></table>";
?>
Я немного изменил запрос выведя селект id сервисной связки, а не id.users, так как именно с сервисными связками нам придётся работать.
также я сменил условие фильтра признака блокировки, так как предложенный устарел, ну и наконец изменил условие по фильтру названия логина, так как предложенный некорректно отрабатывался.
скрипт при запуске покажет таблицу с теми логинами, что будет менять и сменит их, при повторном запуске он не выведет ничего.
ЗЫ
правильней было бы задать вопрос в профильном топике, не засоряя форум...
несколько полезных SQL запросов