id | vk_id | parent_id |sort_id
допустим в таблице 9 записей
Маша - 1
Света - 2
Поликарп - 3
Григорий - 4
Василий - 5
Этибор - 6
Галина - 7
Александр - 8
Геннадий - 9
При добавлении нового пользователя все пользователи смещаются на 1у строчку вверх, т.е Маша выпадает.
Написал следующее говнецо
$parent_id = (int)$_GET['pid'];
$user_id = (int)$_GET['uid'];
$mysqlconnect = mysql_connect($db['host'], $db['user'], $db['password']) or die;
mysql_select_db($db['name'], $mysqlconnect);
$query = "SELECT * FROM `commands` WHERE `parent_id` = '{$parent_id}' ORDER BY `sort_id` ASC";
$result = mysql_query($query);
/*кол-во участников*/
$num_rows = mysql_num_rows($result);
/*если пользователей 9(MAX) то удаляем 1го по списку*/
while($row = mysql_fetch_assoc($result)){
$id = $row['id'];
$sort_id = $row['sort_id'];
$vk_id = $row['vk_id'];
$newsort_id = ($sort_id - 1);
$query = "UPDATE `commands` SET `sort_id` = '{$newsort_id}' WHERE `sort_id` ='{$sort_id}' AND `parent_id`='{$parent_id}' LIMIT 1;";
mysql_unbuffered_query($query);
}
if($num_rows == 9){
$query = "UPDATE `commands` SET `vk_id` = '{$user_id}', `sort_id`='9' WHERE `sort_id` ='0' AND `parent_id`='{$parent_id}' LIMIT 1;";
mysql_unbuffered_query($query);
}else{
$query = "INSERT INTO `commands` ( `id` , `vk_id` , `sort_id` , `parent_id` ) VALUES ('', '{$user_id}', '9', '{$parent_id}');";
mysql_unbuffered_query($query);
}
mysql_close($mysqlconnect);
Очень важно время выполнения скрипта и оптимизация запросов т.к запросы буду слать из флеш оболочки и по 10 раз многопоточно(я знаю что в php нет многопоточности)
include_once('libs/multithreading.class.php');
$uid = 3894466;
$array = array(
'3894411','3894422','3894433','3894444','3894455','3894466','3894477','3894488','3894499','3894400'
);
foreach($array as $k => $v){
$multithreading = new MultiThreading();
$multithreading->setScriptName('get.php?pid='.$v.'&uid='.$uid);
//$multithreading->setParams($data);
$multithreading->execute();
}