2014-12-24 30 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 –