2016-03-24 11 views
-4

Ich arbeite an Forced Matrix Plan Website. Es ist 2x8 Matrix. Hier kann der Benutzer 2 Frontline auf seiner ersten Ebene und 4 auf der zweiten Ebene usw. hinzufügen. Jetzt finde ich den Weg in Mysql, der meine Bedingung erfüllen wird. meine Bedingung ist, dass Suche Sponsor links und rechts Bein anf, wenn leer, dann neue Mitglied unter diesem Sponsor und wenn nicht dann Suche Sponsor Mitglied linken und rechten Bein und so weiter.Forced Matrix Plan Daten holen Problem

Ich hoffe, Sie verstehen es gut. Hier ist ein ScreenShort meiner Tabellendaten, wo ich die Daten mit Beziehung von Sponsor und Mitglied mit Position speichere.

enter image description here

+0

Also wo ist Code, den Sie bereits ausprobiert haben? das scheint mehr eine Geschichte als eine Frage – KDOT

+0

Ich möchte Logik, um mein Problem zu lösen, dann werde ich Code. –

+0

Warum gibst du meine Frage minus Punkt, wenn du nicht verstehst, dann kannst du wieder fragen oder es lassen, aber warum entmutigtest du meine Frage. –

Antwort

0

Bitte, für zukünftige Ankündigung, bieten Code oder/und Ideen, die Sie haben bereits versucht. Dies ist nicht der richtige Ort, um Leute zu bitten, Dinge für dich zu tun.

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; 
    } 
} 

Der obige Code erklärt das Prinzip, wir überprüft zunächst, ob die Person unter Verwendung einer SQL-Anweisung existiert. Sobald das PDO die SQL-Abfrage ausführt, wird ein Objekt zurückgegeben. Wenn das Objekt null ist, dann wissen wir, dass der Benutzer nicht existiert, also geben wir false zurück, wenn es existiert, geben wir true zurück.

Anschließend können Sie etwas tun, wie so:

class DatabaseExtension extends Database 
{ 
    public function insert($name,$right, ect...) 
    { 
     $insert = $this->db->prepare("INSERT INTO..."); 
    } 
} 

Es genannt und verwendet werden kann, von $_GET Anfragen oder $_POST Anfragen von einem HTML-Web-Formular, das wie so zu einer Handler PHP-Datei sendet:

$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; 

Dieser Code nICHT genaue und Ihre Lösung nicht sein. Es soll Ihnen eine Idee geben, um Ihr Problem zu lösen.

Beachten Sie auch, dass ist Methode ist sehr Objekt-Orientiert so, wenn Sie mit einem dieser Code oder die Verwendung von Klassen nicht vertraut sind, empfehle ich Ihnen Forschung, bevor Sie einen anderen Posten wie erstellen: "What is a Class, Please make this for me."

Es gibt viele andere Verbindungsprotokolle/APIs, die Sie anstelle von PDO verwenden können, obwohl ich PDO aufgrund von SQLi, SQL empfehlen würde (und wenn Sie einfach nur ... urgh ... sind) ODBC wird in neueren sehr abgeschrieben Versionen von PHP.