Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как выделить из базы ТОЛЬКО 2 и 3 человека(рефа)? выделить из базы людей 
:(
    Опции темы
rublik2009
Дата 3.1.2011, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 18.12.2010

Репутация: нет
Всего: нет



Под каждым человеком скажем  рег-ся допустим 10 человек (рефы) в 1 линию (солнышко)
Мне надо выделить (вытащить из базы) 2-го и 3-го человека-рефа  под ним (под Дистрибьютором),пропуская 1-го рефа.
В базе есть таблица USERS с данными USER (назовем его рефом),т.е человек рег-ся и становится Юзером,или рефом Парента. Вот столбцы USERS
Код

mysql_query("create table users(id int not null auto_increment, user varchar(20), pass varchar(25), email varchar(45),  ……, parent varchar(20), …..,primary key(id));");

А вот это мне надо решить:
Код

$ts=mysql_query("SELECT * FROM users WHERE parent='$login' LIMIT 1,2")
$row1 = mysql_fetch_array($ts);
$row2 = mysql_fetch_array($ts);
if($row1['user'] == $login || $row2['user'] == $login){  //думаю здесь ошибка
//для случая, когда реф 2-й или 3-й по порядку
то ладно
}else{// если люди у Парента по счету 1,4.5.6…тут пропускаем 2 и 3
то не ладно
}

Здесь думаю так LIMIT 1,2
1 - это смещение в результате
2 - кол-во строк
В mysql : limit 2 выведет две строки, limit 1,2 выведет 2 строку и не выведет первую, т. е. limit A, B выведет строки начиная с A+1 до B
User (реферал) зарегн под parent,  Parent – это Дистрибьютор (кто пригласил)
Мысли: по ID, мне надо выбрать ID=2 и D=3 ,т.е между 1-кой и 4-кой,как бы ID>1 ID<4,но по ID Думаю не получиться,т.е . некоторые люди удаляются, и может остаться только люди скажем ID=1 и ID=5 ID=6 , ID =7
если 2 и 3 удалены, то выбираем уже между 1 кой и 6-кой,т.е  4 и 5
Вот ниже,строится таблица,  работает не по счету (по порядку) идет и мне не подходит,а на общее количество,но все таки покажу для ознакомления:
Код

$sql=mysql_query("select id, user, parent, email, icq, skype, cot, magent, date_active, status from users where parent='$login'");    
    $refs1=mysql_num_rows($sql);    
    if($refs1<1):
    У Вас пока нет рефералов
иначе
У вас есть рефералы

А может этот лучше:
Код

$ts=mysql_query("SELECT * FROM (SELECT * FROM users WHERE parent='$login' LIMIT 1,2) WHERE user='$login'");
if(mysql_num_rows($ts)!= 1)
    не ладно
}else{
//для случая, когда реф 2-й или 3-й по порядку
    то ладно
}

Может тип ID  в базе поменять,на какой?  Помогите решить или найти ошибки.Заранее спасибо.


Это сообщение отредактировал(а) rublik2009 - 3.1.2011, 23:29
PM MAIL   Вверх
Smorodin
Дата 6.1.2011, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



Цитата(rublik2009 @  4.1.2011,  01:56 Найти цитируемый пост)
Код

$row1 = mysql_fetch_array($ts);
$row2 = mysql_fetch_array($ts);



Ну так конечно будет выведена только одна запись, надо результат считывать циклом, например:

Код

// $results = array();
$ts=mysql_query("SELECT * FROM users WHERE parent='$login' LIMIT 1,2")
while($row1 = mysql_fetch_array($ts)) {
// здесь работаем с массивом-результатом, например $results[] = $row1;
}
// print_r($results);


Это сообщение отредактировал(а) Smorodin - 6.1.2011, 11:07


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.