2017-12-20 3 views
1

Ich habe diese Daten in meiner Datenbank enter image description herephp Hinzufügen Kind in Mutter

Mein Ziel ist dies in einer Tabelle, die Daten anzuzeigen, wie diese

enter image description here

Ich bin in der Lage zu sammle alle diese Daten und zeige sie in meiner HTML-Tabelle an, aber die Dinge sind, dass ich das bekomme.

enter image description here

Ich Array mit dem user_id und dem Benutzertyp zu erhalten, und von dieser Benutzer-ID i für Käufer suchen, wenn erhielten Käufer unter dieser ID, ich kann es angezeigt werden, umgekehrt.

sind unter meinen Code für Ihre Referenz

$GparentType = $conn->query("SELECT type FROM profile WHERE user_id = '".$user_id."'")->fetch_object()->type; 

$ParentDetails = array(); 
$sql = mysqli_query($conn,"SELECT user_id FROM profile WHERE Buy_From ='$user_id'"); 
while($resSql = mysqli_fetch_array($sql)){   
    $ParentDetails[] = $resSql["user_id"]; 
} 

echo "<div id=\"container\" style=\"width:250px;margin:0 auto;\"> 
     <table class=\"table table-responsive table-hover\" border=\"1\">  
      <tr class=\"info\"> 
       <th style=\"width:20%;\">User</th> 
       <th style=\"width:10%;\">Name</th> 
       <!--th>Ordered</th> 
       <th>Comm.&nbsp;</th> 
       <th>Nett.&nbsp;&nbsp;&nbsp;</th> 
       <th>Payout</th> 
       <th>Balance</th-->      
      </tr> 
      <tr class=\"parent success\" data-toggle=\"collapse\" data-target=\"#child\" style=\"cursor:pointer\">         
       <td>".$user_id."<div style=\"float:right\">[".$GparentType."]</div></td> 
       <td>".$uname."</td> 
       <!--td id=\"total_order\"></td> 
       <td id=\"total_comm\"></td> 
       <td id=\"total_nett\"></td> 
       <td id=\"total_payout\"></td> 
       <td id=\"total_bal\"></td-->         
      </tr> 
      <tbody id=\"child\" class=\"collapse\"> 
      ";  
      getChild($ParentDetails); 
      foreach($ParentDetails as $parent){ 

       $parentType = $conn->query("SELECT type FROM profile WHERE user_id = '".$parent."'")->fetch_object()->type; 
       if($parentType == 'Retailer'){      
        $details = array();      
        $sql = mysqli_query($conn,"SELECT user_id,Buy_From FROM profile WHERE Buy_From ='$parent'"); 
        while($resSql = mysqli_fetch_array($sql)){ 

         $details[] = $resSql["user_id"].",".$resSql["Buy_From"]; 
        }      
        getChild($details);       
       }     
      } 
echo "</tbody></table>"; 

und die Funktion

function getChild($details){  
$rate = $_POST['rate']; 
include("conf.php"); 
$conn = mysqli_connect($servername, $username, $password, "supplier"); 

foreach($details as $newDetails){  
    $expDetails = explode(",",$newDetails); 

    $uType = $conn->query("SELECT type FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->type; 
    $uName = $conn->query("SELECT name FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->name; 

    if($uType == "Retailer"){ 
     echo " 
      <tr class=\"danger\"> 
       <td>".$expDetails[0]."<div style=\"float:right\">[".$uType."]</div></td> 
       <td>$uName</td> 
      </tr> 
     "; 
    } 
    else{ 
     echo " 
      <tr> 
       <td>".$expDetails[0]."<div style=\"float:right\">[".$uType."]</div></td> 
       <td>$uName</td>           
      </tr> 
     "; 
    }}} 

mir bitte helfen, wie kann ich es erreichen, dank

+1

Bitte verwenden Sie keine Bilder zum Anzeigen von Tabellen. Lesen Sie: https://meta.stackexchange.com/questions/73566/is-there-markdown-to-create-tables – Troyer

+0

dies wäre einfacher zu verstehen, wenn Ihre erwartete Ausgabe und das Ergebnis die gleiche Reihenfolge hatten – JoshKisb

+0

können Sie die $ zeigen expDetails array content – kranthi

Antwort

0

von

$details[] = $resSql["user_id"].",".$resSql["Buy_From"]; 

zu

$details[$resSql["user_id"]] = $resSql["user_id"].",".$resSql["Buy_From"]; 

und vor

getChild($details); to sort($details); getChild($details); 
+0

danke aber was ist * * sortieren ($ Details); **? – Tony

+0

um Array basierend auf user_id richtig zu sortieren .... es ist optional (wenn das Array nicht richtig sortiert ist basierend auf user_id im schlimmsten Fall) – kranthi

+0

ist mein ans hilfreich? – kranthi

0

Dank an alle,

nach einem paar Fehlern nennen, schaff' ich es zu bekommen, wie ich wollte, was ich ist tat einfach fügen Sie einfach ein neue Funktion, bei der diese Funktion den Elternknoten (in diesem Fall Händler) anzeigt und diese Funktion in getChild ($ details) aufruft; hier, wie mein Code aussehen wie

$GparentType = $conn->query("SELECT type FROM profile WHERE user_id = '".$user_id."'")->fetch_object()->type; 

$ParentDetails = array(); 
$sql = mysqli_query($conn,"SELECT user_id FROM profile WHERE Buy_From ='$user_id'"); 
while($resSql = mysqli_fetch_array($sql)){   
    $ParentDetails[] = $resSql["user_id"]; 
} 

echo "<div id=\"container\" style=\"width:250px;margin:0 auto;\"> 
     <table class=\"table table-responsive table-hover\" border=\"1\">  
      <tr class=\"info\"> 
       <th style=\"width:20%;\">User</th> 
       <th style=\"width:10%;\">Name</th> 
       <!--th>Ordered</th> 
       <th>Comm.&nbsp;</th> 
       <th>Nett.&nbsp;&nbsp;&nbsp;</th> 
       <th>Payout</th> 
       <th>Balance</th-->      
      </tr> 
      <tr class=\"parent success\" data-toggle=\"collapse\" data-target=\"#child\" style=\"cursor:pointer\">         
       <td>".$user_id."<div style=\"float:right\">[".$GparentType."]</div></td> 
       <td>".$uname."</td> 
       <!--td id=\"total_order\"></td> 
       <td id=\"total_comm\"></td> 
       <td id=\"total_nett\"></td> 
       <td id=\"total_payout\"></td> 
       <td id=\"total_bal\"></td-->         
      </tr> 
      <tbody id=\"child\" class=\"collapse\"> 
      ";  
      getChild($ParentDetails); 
      foreach($ParentDetails as $parent){ 

       $parentType = $conn->query("SELECT type FROM profile WHERE user_id = '".$parent."'")->fetch_object()->type; 
       if($parentType == 'Retailer'){      
        $details = array();      
        $sql = mysqli_query($conn,"SELECT user_id,Buy_From FROM profile WHERE Buy_From ='$parent'"); 
        while($resSql = mysqli_fetch_array($sql)){ 
         $details[] = $resSql["user_id"].",".$resSql["Buy_From"]; 
        }      
        getChild($details);       
       }     
      } 
echo "</tbody></table>"; 

function getParent($details){ 
$rate = $_POST['rate']; 
include("conf.php"); 
$conn = mysqli_connect($servername, $username, $password, "supplier"); 

foreach($details as $newDetails){  
    //echo $details."</br>"; 
    $expDetails = explode(",",$newDetails);  

    $uType = $conn->query("SELECT type FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->type; 
    $uName = $conn->query("SELECT name FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->name; 

    if($uType == "Retailer"){ 
     echo " 
      <tr class=\"danger\" id=\"agent\"> 
       <td>".$expDetails[0]."<div style=\"float:right\">[".$uType."]</div></td> 
       <td>$uName</td> 
       <td id=\"subT_Ord\"></td> 
       <td id=\"subT_Comm\"></td> 
       <td id=\"subT_Nett\"></td> 
       <td id=\"subT_Pay\"></td> 
       <td id=\"subT_Bal\"></td>        
      </tr> 
     "; 
    } 
}} 

und hier die Änderungen GetChild ist() Funktion

function getChild($details){  
$rate = $_POST['rate']; 
include("conf.php"); 
$conn = mysqli_connect($servername, $username, $password, "supplier"); 

$upline = array(); 
foreach($details as $newDetails){  
    //echo $newDetails."</br>";  
    $expDetails = explode(",",$newDetails);     
    $upline[] = $expDetails[1]; 
} 

if($upline){  
    $upline = array_unique($upline); 
    getParent($upline);  
} 

foreach($details as $newDetails){  
    $expDetails = explode(",",$newDetails); 

    $uType = $conn->query("SELECT type FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->type; 
    $uName = $conn->query("SELECT name FROM profile WHERE user_id = '".$expDetails[0]."'")->fetch_object()->name; 

    echo " 
     <tr> 
      <td>".$expDetails[0]."<div style=\"float:right\">[".$uType."]</div></td> 
      <td>$uName</td>           
     </tr> 
    "; 
}} 

Ich weiß, es ist nicht ein Pro-Programmierer Code, aber jetzt erreiche ich meine Ziele. danke nochmal.

Verwandte Themen