2014-12-24 31 views
1

我想從介紹人5代碼中獲取員工代碼的介紹人代碼,需要獲取引入介紹人4的介紹人代碼,例如明智地我想獲取所有代碼。根據員工代碼獲取介紹人代碼

我有7級僱員的:1)XXXX-7000 2)YYYY-6000 3).... 7)-1000 EEEE

 <?php 
    if(isset($_POST['submit'])){ 
     $introducer_code=$_POST['intro_code']; 
     function getOneLevel($intro_code) 
     { 
     $get_intro_code="SELECT * FROM `emp_details` WHERE `emp_code` = '".$intro_code."' "; 
    // echo $get_intro_code."</br>"; 
     $exe_code=mysql_query($get_intro_code); 
    //$introducer_code=array(); 
    $rows=mysql_num_rows($exe_code); 
    // echo $rows; 

    if($rows>0) 
     { 
     $get_role=mysql_fetch_array($exe_code); 
     $introducer_code= $get_role['intro_code']; 
     $compare_role1=" SELECT * FROM emp_details WHERE `emp_code` = '".$introducer_code."' "; 
     // echo $compare_role1."</br>"; 
     $exe_role1=mysql_query($compare_role1); 
     $get_pos1=mysql_fetch_array($exe_role1); 
     //echo $get_pos1['emp_role']; 
     if($row_c=mysql_num_rows($exe_role1) > 0){ 

     $compare_role="SELECT * FROM user_role WHERE `emp_role_id` = '".$get_pos1['emp_role']."' "; 
     echo $compare_role."</br>"; 
     $exe_role=mysql_query($compare_role); 
     $get_pos=mysql_fetch_array($exe_role); 
     $id=$get_pos['id']; 
     } 

    } 
    $res=$id.','.$introducer_code; 
    echo $res."</br>"; 
    return $res; 

    } 
    $compare_role2="SELECT * FROM emp_details WHERE `intro_code` = '".$introducer_code."'"; 
// echo $compare_role2 ."</br>"; 
    $exe_role2=mysql_query($compare_role2); 
    if (mysql_num_rows($exe_role2)>0) { 
    //$n=7; 
    while ($get_pos=mysql_fetch_array($exe_role2)) { 
     //echo $get_pos['emp_code']; 
     // $c=$n-$id; 
     /* for($i=0;$i<$c;$i++){ 
     echo "hi";*/ 
    getOneLevel($get_pos['emp_code']); 
     // } 
    } 

} 

    getOneLevel($introducer_code);  
} 
?> 
<form method="post"> 
<div class="form-group"> 
    <label>Introducer Code</label> 
    <input type="text" placeholder="Enter Introducer Code" id="intro_code" required="required" name="intro_code" class="form-control" /> 
</div> 
    <button value="Submit" type="submit" name="submit" >Submit</button> 

    </form> 

上面的代碼只返回即時introducer4代碼爲文本框中輸入的值。它不返回介紹人3代碼誰指介紹人4等......

請幫助!! 掙扎超過4天!

+0

@Andre丹尼爾:對不起,我因此未必須使用PDO的做法或任何其他首選的查詢。後我得到了練習,我會用它..請不要誤會我...如果你可以建議練習好方法 –

+0

使用mysqli。它幾乎與mysql相同,對於初學者來說,它比PDO更容易。至於SQL注入,搜索「SQL注入PHP」,你會發現一個高度upvoted問題與例如關於如何防止SQL注入(我在手機上,所以我不能鏈接它)。 –

+0

@安德烈丹尼爾確定:)我會參考它。 –

回答

1

嘗試,這可能是有用的

function getIntroducer($intro_code) 
{ 
    //Write your code to get introudcer and return it's Interducer id only 

    return $introudcer; 

} 

$finalInterducer = $intro_code //start 
for($i=0;$i<5;$i++){ // If its 7 loop 7 time's 
    $finalInterducer = getIntroducer($finalInterducer) 
} 

//循環後你會得到最後finalInterducer

+0

完美即時獲取介紹人代碼:)謝謝 –

+1

這將需要運行多個SQL查詢,巨大的性能損失 –

1

更改SQL查詢,試試這個:

SELECT ED4。 emp_code AS'introducer4', ED3。 emp_code AS'introducer3', ED2。 emp_code AS'introducer2', ED1。 emp_code AS'introducer1' FROM emp_details ED1,emp_details ED2,emp_details ED3,emp_details ED4 Where ED4。 'emp_code ='「。$ introducer_code。」' AND ED3。 emp_code = ED4。 intro_code AND ED2。 emp_code = ED3。 intro_code AND ED1。 emp_code = ED2。 intro_code

一切順利:)

+0

hai @Sameer Shemna,什麼是ED $,ED3,ED2? –

+1

它是數據表別名,請參考:http://w3schools.com/sql/sql_alias.asp –