Побочная функция MYSQL

В настоящее время я пытаюсь зашифровать веб-сайт сети и застрял на этапе побочной функции. Вот как это работает, каждому зарегистрированному пользователю сайта разрешено приглашать в сеть только двух человек (для этого у них есть реферальная ссылка). Однако, если участник дал свою ссылку для ссылки более чем на двух человек, и регистрирующийся пользователь хочет зарегистрироваться по этой ссылке, должно произойти следующее событие:

1. PHP должен запросить базу данных MYSQL, чтобы выяснить, ссылался ли спонсор на двух (2) человек, и если ДА, то MYSQL будет искать случайное имя спонсора-спонсора, чтобы заменить первоначального спонсора.
2. Если, напротив, MYSQL проверит и обнаружит, что спонсор еще не отослал двух человек, тогда MYSQL продолжит использовать имя пользователя спонсора для нового зарегистрированного участника.

Ниже показано, как выглядит таблица базы данных:

Мой снимок базы данных MYSQL

Имя таблицы — affiliateuser, столбец referedby — это место, где показаны спонсоры для каждого участника. Мне нужно, чтобы участник мог появляться в качестве спонсора только дважды (максимум) в столбце referedby.
Глядя на таблицу выше, пользователь yelefash2 отослал двух человек по своей ссылке, в то время как пользователь mipe305 не отослал кого-либо по своей ссылке или имени пользователя, мне нужно установить баланс, и если третье лицо пытается зарегистрироваться по имени пользователя / реферальной ссылке yelefash2, пусть PHP / MYSQL заменит его пользователем, который еще не отослал двух человек (это может быть случайный выбор или иным образом), это автоматически перенаправит участников в качестве рефералов на доступные места, например, mipe305

Я пробовал следующие коды PHP, но это не работает:

 $ref=mysqli_real_escape_string($con,$_POST['referral']);//data from the referrer webform field//

$result = mysqli_query($con,"SELECT count(*) FROM  affiliateuser where username = '$ref'");

$row = mysqli_fetch_row($result);
$numrows = $row[0];
if ($numrows==0)
{
$msg=$msg."Sponsor/Referral Username Not Found..<BR>";//for checking if provided sponsor exits
$status= "NOTOK";
}

$reea = mysqli_query($con,"SELECT username,referedby, COUNT(username) FROM affiliateuser GROUP BY referedby ASC");
$reeeb = mysqli_query($con,"SELECT count(*) FROM affiliateuser where referedby='$ref' ");
$row = mysqli_fetch_row($reeeb););
$refcount = $rowp[0];if ($refcount ==2 OR $refcount >2)
{$reee = mysqli_query($con,"SELECT username,referedby, COUNT(username) FROM affiliateuser GROUP BY referedby ASC");
$reeel = mysqli_query($con,"SELECT referedby FROM affiliateuser where COUNT(username)<2 ");
$row = mysqli_fetch_row($reeel);
$refpick = $row[0];
}
else
{$refpick=mysqli_real_escape_string($con,$_POST['referral']);}

Я знаю, что, должно быть, я делаю что-то не так, я немного новичок в MYSQL и PHP, любая помощь будет очень признательна

2

Решение

Поменял мой awnser:

  $reea = mysqli_query($con,"SELECT username,referedby, COUNT(username)
FROM affiliateuser GROUP BY referedby ASC");

ничего не делает. но это может быть что-то, идущее куда-то еще на странице, а его нет в этом посте.

но ваша переменная массива результатов неверна.

  $refcount = $rowp[0];
should be
$refcount = $row[0];

потому что $ rowp нигде не определен …. и результат его строки:

   $row = mysqli_fetch_row($reeeb););

неправильно. так должно быть:

   $row = mysqli_fetch_row($reeeb);

в конце остальное условие:

  {$refpick=mysqli_real_escape_string($con,$_POST['referral']);}

может быть упрощено путем:

  {$refpick=$ref;}

Одна вещь о сравнении,

  the if ($refcount ==2 OR $refcount >2) should work,
but if (($refcount ==2) OR ($refcount >2)) will guarantee the correct operation.
I personally use || (double pipe) instead of "or" personally.
so I would have wrote it as:  if (($refcount ==2) || ($refcount >2)) {
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]