Помогите с кодом для вывода рефераловодов. На сайте установлена реферальная система по кукис. В таблице users создана ячейка ref_id. Когда человек по личной ссылке регистрируется на сайте, то в этой ячейке у него записывается ид пользователя, который его привел. Вот код страницы с приглашенными. Здесь выводится список рефералов, то есть кого пользователь пригласил:
if ($id && $id != $user_id) {
// Если был запрос на юзера, то получаем его данные
$req = mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1");
if (mysql_num_rows($req)) {
$user = mysql_fetch_assoc($req);
$textl = 'Приглашенные: ' . $user['name'];
} else {
require_once('../incfiles/head.php');
echo functions::display_error('Такого пользователя не существует');
require_once("../incfiles/end.php");
exit;
}
} else {
$id = false;
$textl = 'Приглашенные';
$user = $datauser;
}
require_once('../incfiles/head.php');
echo '<div class="phdr"><b>' . ($id ? 'Приглашенные: ' . $user['name'] : 'Приглашенные') . '</b></div>';
$counts = mysql_result(mysql_query('SELECT COUNT(*) FROM `users` WHERE `ref_id`=' . $user['id']), 0);
if($counts>0) {
$req = mysql_query('SELECT `id`,`name`,`sex`,`lastdate`,`datereg`,`status`,`rights`, `ip`,`browser`, `rights` FROM `users` WHERE `ref_id` =' . $user['id'] . ' ORDER BY `datereg` DESC LIMIT '.$start.', '.$kmess);
while ($res = mysql_fetch_assoc($req)) {
echo ($i % 2) ? '<div class="list2">' : '<div class="list1">';
echo functions::display_user($res, 1, (($rights >= 1 && $rights >= $res['rights']) ? 1 : 0)) . '</div>';
++$i;
}
echo '<div class="phdr">Всего приглашенных: ' . $counts . '</div>';
if ($counts > $kmess) {
echo '<div class="menu">' . functions::display_pagination('referals.php' . ($id ? '?id='.$user['id'].'&' : '?'), $start, $counts, $kmess) . '<br />';
echo '<form action="" method="post"><input type="text" name="page" size="2"/> <input type="submit" value="Перейти"/></form></div>';
}
}
else {
echo '<div class="menu">Приглашенных нет!</div>';
}