我正在使用Forced Matrix计划网站。它是2X8矩阵。在这里,用户可以在其第一级添加2个前线,在其第二级添加4个,依此类推。 现在我在mysql中找到了满足我条件的方法。 我的条件是搜索赞助商左右腿anf如果空,然后在该赞助商下插入新成员,如果没有,则搜索赞助商的成员左右腿等。
希望你能理解。 这是我的表格数据的屏幕截图,我将保存与赞助商和成员有关系的数据。
答案 0 :(得分:0)
请在将来通知时提供您已经尝试过的代码或/和想法。这不是要求人们为你做事的地方。
class Database
{
protected $db;
public function __construct()
{
$this->db = new PDO("mysql:host=localhost;dbname=example","user","pass");
}
public function is_Empty($left,$right)
{
$search = $this->db
->prepare("SELECT * FROM table WHERE ... OR ...");
$search->execute(array(
':left' => $left,
':right' => $right
));
if($prepare->fetchAll() == null)? return false : return true;
}
}
上面的代码解释了原理,我们首先通过使用SQL语句检查该人是否存在。一旦PDO执行SQL查询,它将返回一个Object。如果对象为null
,那么我们知道用户不存在,因此我们返回false
,如果确实存在,则返回true
。
然后你可以这样做:
class DatabaseExtension extends Database
{
public function insert($name,$right, ect...)
{
$insert = $this->db->prepare("INSERT INTO...");
}
}
它可以从$_GET
请求或来自HTML Web表单的$_POST
请求中调用和使用,这些请求会发送到处理程序PHP文件,如下所示:
$dbHandler = new Database;
$dbHandler->inserting = new DatabaseExtension;
if($dbHandler->is_Empty($_GET['left'],$_GET['right']):
$dbHandler->insert($_GET['name'],$_GET['right'],etc...);
else:
echo "Sorry, this sponsor is already filled...";
endif;
此代码不确切,不会是您的解决方案。它是为您提供解决问题的想法范围。
另请注意,方法非常面向对象,所以如果您不熟悉任何此类代码或使用类,我建议您在创建另一个帖子之前进行研究,如:{{ 1}}
你可以使用很多其他的连接协议/ API,而不是PDO,虽然我推荐PDO,因为SQLi,SQL(如果你只是简单......那么......)ODBC变得非常贬值在较新版本的PHP中。