Человек (папа приглашает людей в проект (сыновей),Допустим под ним 1-й сын (реф) у него уже есть .Надо 2-3 го один раз отдать деду при регции сыновей Где ошибка или можно что сократить? 1) вариант: PHP: $ts=mysql_query("SELECT * FROM users WHERE parent = (SELECT parent FROM users WHERE user= '$login') ORDER BY id ") ; $num = mysql_num_rows($ts); for ($i=1; $i <= $num; $i++){ $row=mysql_fetch_array($ts, MYSQL_ASSOC); If ($row[‘user’]==$login && ($i==2||$i==3)) // надо отделить 2-3го рефа у Дистрибьютора (2-3го сына у папы) { Регистрируем под деда 2-3го рефа от папы по счету (дед –Дистрибьютор папы) } else { Регм под папу рефов по счету.1.4,5,6…. } 2) вариант : В базе таблица Юзера такая (сокращенно): Код (Text): create table users(id int not null auto_increment, user (это новый реф-сын) varchar(20), pass varchar(25), email varchar(45), ……parent (папа,кто пригласилв проект,или назовем Дистрибььтор №1) varchar(20), parent2 (дед)varchar(20), parent3 (продед)varchar(20), primary key(id));"); Мне надо чтоб при регистрации нового человека (рефа) сработало: Под папу рег-ся сыновья (рефы).Папа (Дитсриб 1) отдает сына деду (Дитсриб 2 ),если сын приходится у папы ПО СЧЕТУ только 2-3й. Но надо чтоб в базе эти 2-3 рефы были видны у папы и у деда (чтоб шел счет людей у папы и деда в базе),т.е. скажем папа заходит к себе в кабинет и видет 2-3го сына (которые ушли к деду) –красными. Дед заходит к себе в кабинет и видет, что от папы пришло халява (2-3-й сын) и встали на его 1-ю линию. Проблема у меня в том, что если даже сын ушел под деда, он также в таблице, должен просматриваться у папы (и у деда,как будто дед его нашел,но он не нашел.просто перешли от папы) ,как 2-3-й,просто чтоб шел счет людей у папы ( 1,2,3,4.5),чтоб все его люди не уходили деду,а только 2й и 3й один раз!! и все. Я предлагаю так: Добавим в базе в таблице users НОВУЮ колонку u23 char (1) (или bool Сравнение ставить :cp1251_general_ci , Null ставлю: Да, По умолчанию ставлю: NULL ) допустим после $datecod Мысли: Есть папа-Вася и деда-Коля у папы-Васи есть сын-Вова 1-й и которого (u23 = 0) вдруг (а может и не случайность папе-Васе "подфортило" и у него нарисовался еще один сын-Петя (он уже второй!) у нового сына-Пети изначально u23 тоже равно 0 НО т.к. он второй по счету у папы-Васи - ему в "папы" записывают деда-Колю ПРИ ЭТОМ запись у папы-Васи о сыне-Пете все равно остается, только уже u23 = 1 А у деда-Коли (теперь уже он новоиспеченный папа-Коля) появляется запись о сыне-Пете со значением u23 = 0 ТО ЕСТЬ ФАКТИЧЕСКИ в базе данных две записи о сыне-Пете - у папы-Васи она со значением u23=1 и у папы-Коли (он же дед-Коля) со значением u23=0 parent –папа , parent2 - дед // Добавим в базе в таблице users новую колонку u23 ( bool Сравнение ставить :cp1251_general_ci , Null ставлю: Да, По умолчанию ставлю: NULL ) допустим после $datecod. u23 ставлю в столбик после $datecod. //если новички-сыновья нормальные,т.е 1,4,5.6 то записываем в базу новичка после Дистриб 1 (папе) и пишем u23 ==0 PHP: mysql_query("insert into users values (null, '$login1a','$passa','$emaila','$wmra','$jnda','$icq','$skype','$cot','$magent','0','[color=green]$paren[/color]t','$p2','$p3','0','0','$date','$date_active','$date15', 'норма','$client_ip','$datecod','[color=red]0[/color]','50','$encod');"); // записываем в базу if($row1['user'] != $login && $row2['user'] != $login ) : // если 2-3,то к деду регся mysql_query("insert into users values (null, '$login1a','$passa','$emaila','$wmra','$jnda','$icq','$skype','$cot','$magent','0','[color=green]$p2',[/color]'$p3','$p4','0','0','$date','$date_active','$date15', 'норма','$client_ip','$datecod','[color=red]0'[/color],'50','$encod');"); // и пишем u23 ==0 //но и надо записать очередного сына под папу,чтоб у папы шел счет в базе,чтоб он бесконечно не передавал 2-3го сына деду mysql_query("insert into users values (null, '$login1a','$passa','$emaila','$wmra','$jnda','$icq','$skype','$cot','$magent','0','[color=green]$parent[/color]','$p2','$p3','0','0','$date','$date_active','$date15', 'норма','$client_ip','$datecod','[color=red]1[/color]','50','$encod');"); Но как входить новичку в кабинет,через u23 ==0 ? Пример авторизации на сайте (добавлено это and u23 =0 ) : PHP: $sql=mysql_query("select pass, rang, status, ref, parent from users where user='$user' [color=brown]and u23 =[/color]0 limit 1"); До этого была без u23 =0 ,т.е так: PHP: $sql=mysql_query("select pass, rang, status, ref, parent from users where user='$user' limit 1"); [/php][/code]