复杂算法
Complex algorithm
我绞尽脑汁但还是卡住了..但我相信这是可能的,因为那里有专家。有这个附属网站。
如果一个用户是第一个在应用程序上注册的用户,他将不会在任何人之下,但接下来注册的六个用户将在第一个用户之下,当超过六个时,第七个用户将不会在任何人之下,任何其他六个用户注册将在第七个用户下,依此类推..
我创建了两个 tables,用户 table 和 table 来跟踪用户下的用户..
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$pre = $db->prepare("SELECT * FROM affi");
$pre->execute();
$fetch = $pre->fetchAll();
// print_r($fetch);die;
if(count($fetch) < 1) {
//checking if this is the first user
$create_user = $db->prepare("INSERT INTO users (name, email, password )
VALUES('$name', '$email', '$password')");
$stmt = $create_user->execute();
if($stmt) {
$refer = $db->prepare("INSERT INTO refer_customer (email)
VALUES('$email')");
$stmt = $refer->execute();
header("Location: Index.php");
}
} else if(count($fetch) <= 7) {
//trying to attach other six users that would register under the first one
$get_user = $db->prepare("SELECT FIRST(id) from users ");
$get_user->execute();
$result = $create_user->fetch(PDO::FETCH_OBJ);
if($result) {
$create_user = $db->prepare("INSERT INTO users (name, email, password )
VALUES('$name', '$email', '$password')");
$stmt = $create_user->execute();
if($stmt) {
$refer = $db->prepare("INSERT INTO refer_customer (refere_id ,email)
VALUES('$result->id','$email')");
$stmt = $refer->execute();
header("Location: Index.php");
}
}
}
}
卡住了,甚至不知道这将如何结束,因为如果您明白我的意思,将会有无限的用户。请提供任何帮助,我们将不胜感激
这听起来是个很简单的问题。
您可以在用户注册时给他们编号:用户 1、2、3 等。最好的方法是在数据库中使用 an auto-increment index。我们称此列为 userId
.
接下来是一个小技巧:你可以在PHP中使用modulo operator,像这样:$position = $userId % 7;
这将return之间的数字0 和 6。$position == 0
用于接下来 6 个用户的领导者。
就是这样。 MySQL 还有 the modulo operator.
我绞尽脑汁但还是卡住了..但我相信这是可能的,因为那里有专家。有这个附属网站。 如果一个用户是第一个在应用程序上注册的用户,他将不会在任何人之下,但接下来注册的六个用户将在第一个用户之下,当超过六个时,第七个用户将不会在任何人之下,任何其他六个用户注册将在第七个用户下,依此类推.. 我创建了两个 tables,用户 table 和 table 来跟踪用户下的用户..
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$pre = $db->prepare("SELECT * FROM affi");
$pre->execute();
$fetch = $pre->fetchAll();
// print_r($fetch);die;
if(count($fetch) < 1) {
//checking if this is the first user
$create_user = $db->prepare("INSERT INTO users (name, email, password )
VALUES('$name', '$email', '$password')");
$stmt = $create_user->execute();
if($stmt) {
$refer = $db->prepare("INSERT INTO refer_customer (email)
VALUES('$email')");
$stmt = $refer->execute();
header("Location: Index.php");
}
} else if(count($fetch) <= 7) {
//trying to attach other six users that would register under the first one
$get_user = $db->prepare("SELECT FIRST(id) from users ");
$get_user->execute();
$result = $create_user->fetch(PDO::FETCH_OBJ);
if($result) {
$create_user = $db->prepare("INSERT INTO users (name, email, password )
VALUES('$name', '$email', '$password')");
$stmt = $create_user->execute();
if($stmt) {
$refer = $db->prepare("INSERT INTO refer_customer (refere_id ,email)
VALUES('$result->id','$email')");
$stmt = $refer->execute();
header("Location: Index.php");
}
}
}
}
卡住了,甚至不知道这将如何结束,因为如果您明白我的意思,将会有无限的用户。请提供任何帮助,我们将不胜感激
这听起来是个很简单的问题。
您可以在用户注册时给他们编号:用户 1、2、3 等。最好的方法是在数据库中使用 an auto-increment index。我们称此列为
userId
.接下来是一个小技巧:你可以在PHP中使用modulo operator,像这样:
$position = $userId % 7;
这将return之间的数字0 和 6。$position == 0
用于接下来 6 个用户的领导者。
就是这样。 MySQL 还有 the modulo operator.