强制矩阵计划数据提取问题

时间:2016-03-24 09:21:12

标签: php mysql

我正在使用Forced Matrix计划网站。它是2X8矩阵。在这里,用户可以在其第一级添加2个前线,在其第二级添加4个,依此类推。 现在我在mysql中找到了满足我条件的方法。 我的条件是搜索赞助商左右腿anf如果空,然后在该赞助商下插入新成员,如果没有,则搜索赞助商的成员左右腿等。

希望你能理解。 这是我的表格数据的屏幕截图,我将保存与赞助商和成员有关系的数据。

enter image description here

1 个答案:

答案 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中。