ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: firstdev ใน 21 เมษายน 2012, 01:48:49

ชื่อเรื่อง: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 01:48:49
คือ ผมจะทำ mlm 5 ชั้น การคูณรายได้ตามชั้นดังนี้ 60 30 20 20 10
อยากสอบถามท่านเทพว่า จะมีการออกแบบ database แบบ อ้างอิง id upline กับ downline ยังไงครับ

คือสมาชิกแต่ละคนจะเข้ามาในระบบได้จะต้องมีคนแนะนำ
ผมกะว่าจะเอา username มาเข้า md5 เพื่อนเป็น id ไว้สำหรับแนะนำ ดาวไลน์ เพราะ username จะไม่ซ้ำอยุ่แล้ว
ติดตรงที่การคำนวณรายได้นี่สิจะคิดยังไง
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: LoadRang ใน 21 เมษายน 2012, 01:50:05
ซับซ้อนยิ่งนัก
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 01:56:00
ที่มคิดได้คือ วน loop  5 ชั้น อาจจะเป็นวิธีการที่เปลือง process ยิ่งนักใครพอมีวิธีแนะนำบ้าง
ขอคุณล่วงหน้าครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: bubbleball ใน 21 เมษายน 2012, 02:00:50
วิธีไล่แบบ tree ผมว่าน่าจะกินเวลานาน

อาจจะต้องมอง 1 user 1 action ทุกครั้งที่เกิดกิจกรรมการซื้อขาย เกิดรายได้หรือยอด ต้องเก็บค่าไว้ที่ตัวอัพไลน์ของคนนั้นๆหรือคนนั้นๆไว้เลย เพื่อลดการวนลูปรายละเอียดปลีกย่อยทีหลังอีกรอบ

จริงๆผมก็มองหาคนที่ทำระบบตรวจสอบผังองค์กรแบบ mlm ได้อยู่บ้างเหมือนกัน
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: anuchit2499 ใน 21 เมษายน 2012, 02:02:05
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 01:48:49
คือ ผมจะทำ mlm 5 ชั้น การคูณรายได้ตามชั้นดังนี้ 60 30 20 20 10
อยากสอบถามท่านเทพว่า จะมีการออกแบบ database แบบ อ้างอิง id upline กับ downline ยังไงครับ

คือสมาชิกแต่ละคนจะเข้ามาในระบบได้จะต้องมีคนแนะนำ
ผมกะว่าจะเอา username มาเข้า md5 เพื่อนเป็น id ไว้สำหรับแนะนำ ดาวไลน์ เพราะ username จะไม่ซ้ำอยุ่แล้ว
ติดตรงที่การคำนวณรายได้นี่สิจะคิดยังไง

ร่วมหุ้นด้วยดิท่าน

ว่าแต่ทำใช้เองป่าว
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 02:04:14
อ้างถึงจาก: bubbleball ใน 21 เมษายน 2012, 02:00:50
วิธีไล่แบบ tree ผมว่าน่าจะกินเวลานาน

อาจจะต้องมอง 1 user 1 action ทุกครั้งที่เกิดกิจกรรมการซื้อขาย เกิดรายได้หรือยอด ต้องเก็บค่าไว้ที่ตัวอัพไลน์ของคนนั้นๆหรือคนนั้นๆไว้เลย เพื่อลดการวนลูปรายละเอียดปลีกย่อยทีหลังอีกรอบ

จริงๆผมก็มองหาคนที่ทำระบบตรวจสอบผังองค์กรแบบ mlm ได้อยู่บ้างเหมือนกัน

ขอโทษด้วยที่คำถามผมไม่เคลียร์ครับ ไม่มีการขายของ มีแต่รายได้จากการแนะนำสมาชิกมาใช้ระบบภายในเว็บครับ  แนะนำมาสมัครได้ ก็ได้ค่าแนะนำคิดรายได้เป็นชั้นๆ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: BrainFreeze ใน 21 เมษายน 2012, 02:04:49
ลอง search mlm script ผมเห็ฯมีขายเยอะแยะครับ เอามาแกะแก้ไขเป็นแบบที่ชอบดูไม่น่ายาก
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 02:05:58
อ้างถึงจาก: anuchit2499 ใน 21 เมษายน 2012, 02:02:05
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 01:48:49
คือ ผมจะทำ mlm 5 ชั้น การคูณรายได้ตามชั้นดังนี้ 60 30 20 20 10
อยากสอบถามท่านเทพว่า จะมีการออกแบบ database แบบ อ้างอิง id upline กับ downline ยังไงครับ

คือสมาชิกแต่ละคนจะเข้ามาในระบบได้จะต้องมีคนแนะนำ
ผมกะว่าจะเอา username มาเข้า md5 เพื่อนเป็น id ไว้สำหรับแนะนำ ดาวไลน์ เพราะ username จะไม่ซ้ำอยุ่แล้ว
ติดตรงที่การคำนวณรายได้นี่สิจะคิดยังไง

ร่วมหุ้นด้วยดิท่าน

ว่าแต่ทำใช้เองป่าว

ขอโทษทีเป็น idea ลูกค้าครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: bubbleball ใน 21 เมษายน 2012, 02:16:37
ถ้ามองแบบ top to down ก็คือไล่วนตรวจสอบบนลงล่าง

ถ้ามองแบบ down to top ก็ดูว่ากิจกรรมอะไรเกิดขึ้นเมื่อไรตอนไหน ก็ส่งผลขึ้นไปที่ระดับบน ณ เดี๋ยวนั้น
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 07:43:09
อ้างถึงจาก: HackFreeze ใน 21 เมษายน 2012, 02:04:49
ลอง search mlm script ผมเห็ฯมีขายเยอะแยะครับ เอามาแกะแก้ไขเป็นแบบที่ชอบดูไม่น่ายาก

ผมไม่อยากเพิ่มค่าใช้จ่ายมาก จริงๆมีวิธีคิดในใจอยู่บ้างแต่มันไม่ค่อยเหมาะเท่าไรครับ เลยลองขอแชร์ ไอเดีย
ขอบคุณครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: masterkan ใน 21 เมษายน 2012, 07:57:24
ก็เช็คว่า user นั้นได้ refer  มาจาก user ใด แล้วก็ให้เช็คว่า user ที่ refer มานั้นอยู่ขั้นไหน  ลองใช้  if  else  ถ้า เป็น ขั้น 1 ก็คูณ 10 คูณเท่านั้นเท่านี้ก็ว่าไป  ไม่รู้ใช้ได้มั้ย  ครับ    คงต้องมี database ตาราง user กับ ตารางชื่อ ของสาย   แล้วเช็คทั้ง 2 ค่านี้ เพื่อจะได้รู้ว่าใครอยู่สายไหน    :P
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 12:54:14
อ้างถึงจาก: masterkan ใน 21 เมษายน 2012, 07:57:24
ก็เช็คว่า user นั้นได้ refer  มาจาก user ใด แล้วก็ให้เช็คว่า user ที่ refer มานั้นอยู่ขั้นไหน  ลองใช้  if  else  ถ้า เป็น ขั้น 1 ก็คูณ 10 คูณเท่านั้นเท่านี้ก็ว่าไป  ไม่รู้ใช้ได้มั้ย  ครับ    คงต้องมี database ตาราง user กับ ตารางชื่อ ของสาย   แล้วเช็คทั้ง 2 ค่านี้ เพื่อจะได้รู้ว่าใครอยู่สายไหน    :P

ขอละเอียดกว่านี้ได้ไหม ขอบคุณมากครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: masterkan ใน 21 เมษายน 2012, 13:14:37
สักครู่นะครับ เรียบเรียงก่อน
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: masterkan ใน 21 เมษายน 2012, 13:50:51
ใน database มีข้อมูลดังนี้

        Name        class       referral id    line

       somchai        5         none          head-somchai

       somjai         4        somchai        somchai

       sompong        3         somjai        somchai

       sorapong       2         sompong       somchai

       supakorn       1         sorapong      somchai


Pseudo Code  นะครับ

     
    $userlogin  =  $_POST[user] //สมมติรับข้อมูลมาจาก Form login ละกัน

    if($userlogin อยู่ใน sql){    //ถ้ามี $userlogin ตรงกับใน sql

       if($userlogin table[class] == 5 ){             //เอา $userlogin ไปหาใน sql ตารางที่ชื่อว่า class ซึ่งเก็บจำนวนขั้นของสมาชิก

       $income =  $income x 60;     // เอารายได้ของ user นั้นคูณ 60 

       $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}elseif($userlogin table[class] == 4){

$income =  $income x 30;     // เอารายได้ของ user นั้นคูณ 30

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ
       
}
elseif($userlogin table[class] == 3){


$income =  $income x 20;     // เอารายได้ของ user นั้นคูณ 20

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}
elseif($userlogin table[class] == 2){


$income =  $income x 20;     // เอารายได้ของ user นั้นคูณ 20

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}
else{

$income =  $income x 10;     // เอารายได้ของ user นั้นคูณ 10

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

   $markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}


}else{

echo "Can't Find user in database";

}

*ส่วนเรื่องการเลื่อนขั้นขึ้น จาก 1 ไป 2  2 ไป 3 ต้องใส่สูรคิดเค้าไปเพิ่มนะครับคิดว่าไม่น่ายาก


*ทั้งหมดนี้คิดสดไม่ได้เอามาจากไหน และผมไม่เคยทำสคริปแนวนี้มาก่อนเลย อาจจะผิดเพี้ยนไปเยอะ คงจะช่วย guide ได้นิดๆนะครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 15:15:00
อ้างถึงจาก: masterkan ใน 21 เมษายน 2012, 13:50:51
ใน database มีข้อมูลดังนี้

        Name        class       referral id    line

       somchai        5         none          head-somchai

       somjai         4        somchai        somchai

       sompong        3         somjai        somchai

       sorapong       2         sompong       somchai

       supakorn       1         sorapong      somchai


Pseudo Code  นะครับ

     
    $userlogin  =  $_POST[user] //สมมติรับข้อมูลมาจาก Form login ละกัน

    if($userlogin อยู่ใน sql){    //ถ้ามี $userlogin ตรงกับใน sql

       if($userlogin table[class] == 5 ){             //เอา $userlogin ไปหาใน sql ตารางที่ชื่อว่า class ซึ่งเก็บจำนวนขั้นของสมาชิก

       $income =  $income x 60;     // เอารายได้ของ user นั้นคูณ 60 

       $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}elseif($userlogin table[class] == 4){

$income =  $income x 30;     // เอารายได้ของ user นั้นคูณ 30

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ
       
}
elseif($userlogin table[class] == 3){


$income =  $income x 20;     // เอารายได้ของ user นั้นคูณ 20

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}
elseif($userlogin table[class] == 2){


$income =  $income x 20;     // เอารายได้ของ user นั้นคูณ 20

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

$markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}
else{

$income =  $income x 10;     // เอารายได้ของ user นั้นคูณ 10

   $refincome = $income; // ส่งข้อมูล รายได้ ไปให้ user ที่แนะนำมา อันนี้แล้วแต่สูตร ของคุณ (เอาค่าในตาราง referral id ใน sql มาใช้  แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ))

       $linecheck =   table[line];  //เช็คว่า user นี้อยู่สายของใคร จาก ตาราง line ใน sql (แล้วแต่ว่าจะเอาค่านี้ไปทำอะไรต่อ guide ให้เฉยๆรับ)

   $markrank = formula //ตัวแปรสำหรับเก็บคะแนนในการเลื่อนอันดับขั้น คิดจากสูตร แทน formula ด้วยสูตรนะครับ

}


}else{

echo "Can't Find user in database";

}

*ส่วนเรื่องการเลื่อนขั้นขึ้น จาก 1 ไป 2  2 ไป 3 ต้องใส่สูรคิดเค้าไปเพิ่มนะครับคิดว่าไม่น่ายาก


*ทั้งหมดนี้คิดสดไม่ได้เอามาจากไหน และผมไม่เคยทำสคริปแนวนี้มาก่อนเลย อาจจะผิดเพี้ยนไปเยอะ คงจะช่วย guide ได้นิดๆนะครับ


โอ้วเยี่ยมมากเลยคับ แต่อันนี้มันคือการคิดรายได้ของ  Somchai อ่าครับ
แล้วถ้าผมอยากจะคิดรายได้ของคนอื่นๆ บ้างหละทำไง เพราะรายได้ของแต่ละคนจะถูกตัดที่ 5 ชั้นครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: masterkan ใน 21 เมษายน 2012, 15:29:18
คุณก็ใส่ $userlogin เป็นชื่ออื่นไงครับ ซื่อ user ใน database ไม่ได้มีแค่ line ของ somchai นะครับ


เช่น


         Name        class       referral id    line

       somchai        5         none          head-somchai

       somjai         4        somchai        somchai

       sompong        3         somjai        somchai

       sorapong       2         sompong       somchai

       supakorn       1         sorapong      somchai

       Bobby          5         none           head-Bobby

       betty          4         Bobby          Bobby

       candy          3         betty           Bobby


ถ้าผมเอา  sompong  ไปเข้า Pseudo code ข้างบน ผมก็ได้ว่า  sompong อยู่ สาย somchai ไงครับ

ถ้าผมเอา  candy  ไปเข้า Pseudo code ข้างบน ผมก็ได้ว่า  candy อยู่ สาย Bobby ไงครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: niwechn ใน 21 เมษายน 2012, 16:44:10
อันนี้เป็น โค็ตที่ระบบของผมใช้อยู่  มีการตรวจสอบวันที่ หมดอายุของสมาชิกด้วย ว่าสมาชิกยัง แอคทีปอยู่หรือไม่

คำนวน ดาวไลน์  6 ชั้น

คำนวนค่าแนะนำ ติดตัว


//////////////////////////////////////เป็น ระบบ ของ ADMIN สำหรับ คำนวนค่า Commission ให้กับสมาชิก ////////////////////////////////

if ($submit1 == 'Submit_ok')
{

$user_id = $user_id;
$user_id_loss = $user_id;

$amount = ($amount - 35.00);
$amount1 = ($amount + 35.00);
// $amount = sprintf('%0.2f',$amount1 );
$desc1 = 'first_referral_guide';
$desc = 'referral_commission';
$desc2 = 'referral_commission_loss';
$batch = $pay_id;

///////////////  รับค่า ไอดีสมาชิก  มูลค่าจำนวนแต้ม ส่งเข้าระบบ /////////////////////////

$q = ("update hm2_pay_report set `type` = 'pay_ok',`amount_aprove` ='$amount1',`admin_record` = '$admin_user' where `id` = '$pay_id' ");
     (mysql_query ($q) OR print mysql_error ());
$q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$user_id'");
   $ref_upm1 = mysql_fetch_array ($q);
   $ref_up1 = $ref_upm1[ref_up];
   $ref_guide1 = $ref_upm1[ref_guide];
   
$q = mysql_query ( "SELECT pay_count FROM `hl_member_update` WHERE `user_id` = '$user_id'");
   $pay_count1 = mysql_fetch_array ($q);
   $pay_count = $pay_count1[pay_count];    
     
   if ($ref_up1 != 0 )
                         
                 {  
                      $q = ("insert into hm2_deposits set    user_id = '$user_id',   amount = '$amount',   actual_amount = '$amount',batch = 'batch_eg= $batch', deposit_date = now()");
                   (mysql_query ($q) OR print mysql_error ());
                      $deposit_id = mysql_insert_id ();

                  ///////////////////////// คำนวน ค่า commission ของผู้แนะนำ Ref Guid commission ////////////////////

                   list ($member_status_out,$Days3,$status) = customer_refgiude_status ($user_ref_status,$q,$ref_guide1);
                          print " Ref Guide ID $ref_guide1 Status $member_status_out <br>";
                         if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['guide_active']) /100 ); // insert commisssion Guide
                            $q = ("insert into hm2_history set  `user_id` = '$ref_guide1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '10',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref Guide ID $ref_guide1 Good get amount $amount_ref <br>";
                          }
                          else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                          $amount_ref = (($amount * $shopping_commission['guide_not_active']) /100 ); // insert commisssion Guide
                            $q = ("insert into hm2_history set  `user_id` = '$ref_guide1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '10',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref Guide ID $ref_guide1 amount bad get $amount_ref <br>";
                                                                                 
                          $amount_ref = (($amount * ($shopping_commission['guide_active'] - $shopping_commission['guide_not_active'])) /100 ); // insert commisssion loss Guide
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_guide1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '10',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                              
                          }
                         else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['guide_active']) /100 ); // insert commisssion lock loss Guide
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_guide1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '10',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                        else {}
                    ##########################คำนวน  commission ลูกทีมชั้นที่ L1 cal #######################

                      list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                      print " Ref1 $ref_up1 Status $member_status_out <br>";
                      if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_1_active']) /100 ); // insert commisssion L1
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '1',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref1  amount $amount_ref <br>";
                        
                          }
                          else if ($member_status_out == 'not_active')  // check member active no                      
                          {                          
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_1_not_active']) /100 ); // insert commisssion L1
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '1',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref1  amount $amount_ref <br>";
                          $amount_ref = (($amount * ($shopping_commission['Ref_leve_1_active'] - $shopping_commission['Ref_leve_1_not_active'])) /100 ); // insert commisssion loss L1
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '1',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                              
                          }
                         else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_1_active']) /100 ); // insert commisssion lock loss L1
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '1',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                        else {}
                     ########################## commission L2 cal #######################
                       $q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$ref_up1'");
                       $ref_upm2 = mysql_fetch_array ($q);
                       $ref_up1 = $ref_upm2[ref_up];
                       list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                        print " Ref2 $ref_up1 Status $member_status_out <br>";
                     
                       if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_2_active']) /100 ); // insert commisssion L2
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '2',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref2  amount $amount_ref <br>";
                        
                          }
                          else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_2_not_active']) /100 ); // insert commisssion L2
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '2',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref2  amount $amount_ref <br>";
                         $amount_ref = (($amount * ($shopping_commission['Ref_leve_2_active'] - $shopping_commission['Ref_leve_2_not_active'])) /100 ); // insert commisssion loss L2
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '2',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          
                          
                          }
                          else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_2_active']) /100 ); // insert commisssion lock loss L2
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '2',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                         else {}
                    ########################## commission L3 cal #######################
                       $q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$ref_up1'");
                       $ref_upm2 = mysql_fetch_array ($q);
                       $ref_up1 = $ref_upm2[ref_up];
                       list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                       print " Ref3 $ref_up1 Status $member_status_out <br>";
                       if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_3_active']) /100 ); // insert commisssion L3
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '3',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref3  amount $amount_ref <br>";
                          }
                        else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_3_not_active']) /100 ); // insert commisssion L3
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '3',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          $amount_ref = (($amount * ($shopping_commission['Ref_leve_3_active'] - $shopping_commission['Ref_leve_3_not_active'])) /100 ); // insert commisssion loss L3
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '3',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                           print " Ref3  amount $amount_ref <br>";
                          }
                       else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_3_active']) /100 ); // insert commisssion lock loss L3
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '3',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                          else {}         
                  ########################## commission L4 cal #######################
                       $q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$ref_up1'");
                       $ref_upm2 = mysql_fetch_array ($q);
                       $ref_up1 = $ref_upm2[ref_up];
                       list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                                            
                       print " Ref4 $ref_up1 Status $member_status_out <br>";
                       if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_4_active']) /100 ); // insert commisssion L4
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '4',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref4  amount $amount_ref <br>";
                          }
                        else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_4_not_active']) /100 ); // insert commisssion L4
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '4',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          $amount_ref = (($amount * ($shopping_commission['Ref_leve_4_active'] - $shopping_commission['Ref_leve_4_not_active'])) /100 ); // insert commisssion loss L4
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '4',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref4  amount $amount_ref <br>";
                          }
                        else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_4_active']) /100 ); // insert commisssion lock loss L4
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '4',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                          else {}
                 ########################## commission L5 cal #######################
                       $q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$ref_up1'");
                       $ref_upm2 = mysql_fetch_array ($q);
                       $ref_up1 = $ref_upm2[ref_up];
                       list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                        print " Ref5 $ref_up1 Status $member_status_out <br>";                      
                       if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_5_active']) /100 ); // insert commisssion L5
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '5',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                         print " Ref5  amount $amount_ref <br>";
                          }
                        else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_5_not_active']) /100 ); // insert commisssion L5
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '5',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          $amount_ref = (($amount * ($shopping_commission['Ref_leve_5_active'] - $shopping_commission['Ref_leve_5_not_active'])) /100 ); // insert commisssion loss L5
                           $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '5',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref5  amount $amount_ref <br>";
                          }
                        else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_5_active']) /100 ); // insert commisssion lock loss L5
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '5',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                           else {}
                 ##########################คำนวน  commission ลูกทีม ชั้นที่  L6 cal #######################
                       $q = mysql_query ( "SELECT ref_up,ref_guide FROM `taCubeCart_customer` WHERE `customer_id` = '$ref_up1'");
                       $ref_upm2 = mysql_fetch_array ($q);
                       $ref_up1 = $ref_upm2[ref_up];
                       list ($member_status_out,$Days3,$status) = customer_ref_status ($user_ref_status,$q,$ref_up1);
                        print " Ref6 $ref_up1 Status $member_status_out <br>";                    
                       if ($member_status_out == 'active')  // check member active yes                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_6_active']) /100 ); // insert commisssion L6
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '6',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                         print " Ref6  amount $amount_ref <br>";
                          }
                       else if ($member_status_out == 'not_active')  // check member active no                      
                          {
                            $amount_ref = (($amount * $shopping_commission['Ref_leve_6_not_active']) /100 ); // insert commisssion L6
                            $q = ("insert into hm2_history set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '6',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          $amount_ref = (($amount * ($shopping_commission['Ref_leve_6_active'] - $shopping_commission['Ref_leve_6_not_active'])) /100 ); // insert commisssion loss L6
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '6',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          print " Ref6  amount $amount_ref <br>";
                          }
                          
                      else if ($member_status_out == 'member_lock')  // check member lock                         
                          {
                          $amount_ref = (($amount * $shopping_commission['Ref_leve_6_active']) /100 ); // insert commisssion lock loss L6
                            $q = ("insert into hm2_history_save set  `user_id` = '$ref_up1',`user_deposit_id` = '$user_id', `amount` ='$amount_ref',`type` ='commissions',`description` ='$desc2',`actual_amount` ='$amount_ref',`deposit_id` = '$deposit_id',`commiss_level` = '6',date = now()");
                          (mysql_query ($q) OR print mysql_error ());
                          }
                          else {}                                    
                  ////////////////////////////////// End /////////////////////////////////////      
                  }              
           
           else {  }



       
}
else
 {
   

   }          
function customer_ref_status ($user_ref_status,$q,$ref_up1)
 {
   ############ ตรวจสอบ สถานะ Member Ref Status Upline ว่าหมดอายุหรือยัง  ##############
                              
                                 $q = mysql_query ( "SELECT * FROM hl_member_update WHERE user_id = '$ref_up1'");
                                  $row = mysql_fetch_array ($q);
                                  $q12 = mysql_query ( "SELECT member_status FROM taCubeCart_customer WHERE customer_id = '$ref_up1'");
                                  $row2 = mysql_fetch_array ($q12);

                                 $status = $row2['member_status'];
                                 $Date_1 = date("Y-m-d h:i:s");
                                 $Date_2 = $row['date_added'];
                                 $Date_3 = $row['date_upgrated'];
                                 $Date_4 = $row['date_closed'];
                                 $Date_List_1 = explode("-",$Date_1);
                                 $Date_List_2 = explode("-",$Date_2);
                                 $Date_List_3 = explode("-",$Date_3);
                                 $Date_List_4 = explode("-",$Date_4);
                                 $day_today = mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
                                 $day_add = mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
                                 $day_upgrade = mktime(0,0,0,$Date_List_3[1],$Date_List_3[2],$Date_List_3[0]);
                                 $day_close = mktime(0,0,0,$Date_List_4[1],$Date_List_4[2],$Date_List_4[0]);

                                 $Days3 = round(($day_close - $day_today)/3600/24);

                        if  ( ($Days3 >= 0) AND ($status == 2)) {$member_status_out = 'active';} //member active
                        else if ($status == 1) {$member_status_out ='not_active';} //emember not active
                        else if (($Days3 <= 0) AND ($status == 2)) {$member_status_out ='not_active';} //emember not active
                        else if ($status == 3) {$member_status_out ='member_lock';}
                                  else{}
                     return array ($member_status_out,$Days3,$status);    
   
   }  
function customer_status ($user_ref_status,$q,$user_id)
 {
   ############ ตรวจสอบ สถานะ Member Status Upline ##############
                              
                                 $q = mysql_query ( "SELECT * FROM hl_member_update WHERE user_id = '$user_id'");
                                  $row = mysql_fetch_array ($q);
                                  $q12 = mysql_query ( "SELECT member_status FROM taCubeCart_customer WHERE customer_id = '$user_id'");
                                  $row2 = mysql_fetch_array ($q12);

                                 $status = $row2['member_status'];
                                 $Date_1 = date("Y-m-d h:i:s");
                                 $Date_2 = $row['date_added'];
                                 $Date_3 = $row['date_upgrated'];
                                 $Date_4 = $row['date_closed'];
                                 $Date_List_1 = explode("-",$Date_1);
                                 $Date_List_2 = explode("-",$Date_2);
                                 $Date_List_3 = explode("-",$Date_3);
                                 $Date_List_4 = explode("-",$Date_4);
                                 $day_today = mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
                                 $day_add = mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
                                 $day_upgrade = mktime(0,0,0,$Date_List_3[1],$Date_List_3[2],$Date_List_3[0]);
                                 $day_close = mktime(0,0,0,$Date_List_4[1],$Date_List_4[2],$Date_List_4[0]);

                                 $Days3 = round(($day_close - $day_today)/3600/24);
           
                         print " <br>Day  $Days3 <br>";

                     return  ($Days3);

   }
function customer_refgiude_status ($user_ref_status,$q,$ref_guide1)
 {
   ############ ตรวจ สอบ สถานะ ของ อับไลน์ Member Ref Guide Status Upline ##############
                              
                                 $q = mysql_query ( "SELECT * FROM hl_member_update WHERE user_id = '$ref_guide1'");
                                  $row = mysql_fetch_array ($q);
                                  $q12 = mysql_query ( "SELECT member_status FROM taCubeCart_customer WHERE customer_id = '$ref_guide1'");
                                  $row2 = mysql_fetch_array ($q12);

                                 $status = $row2['member_status'];
                                 $Date_1 = date("Y-m-d h:i:s");
                                 $Date_2 = $row['date_added'];
                                 $Date_3 = $row['date_upgrated'];
                                 $Date_4 = $row['date_closed'];
                                 $Date_List_1 = explode("-",$Date_1);
                                 $Date_List_2 = explode("-",$Date_2);
                                 $Date_List_3 = explode("-",$Date_3);
                                 $Date_List_4 = explode("-",$Date_4);
                                 $day_today = mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
                                 $day_add = mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
                                 $day_upgrade = mktime(0,0,0,$Date_List_3[1],$Date_List_3[2],$Date_List_3[0]);
                                 $day_close = mktime(0,0,0,$Date_List_4[1],$Date_List_4[2],$Date_List_4[0]);

                                 $Days3 = round(($day_close - $day_today)/3600/24);
                                  if  ( ($Days3 >= 0) AND ($status == 2)) {$member_status_out = 'active';} //member active
                        else if ($status == 1) {$member_status_out ='not_active';} //emember not active
                        else if (($Days3 <= 0) AND ($status == 2)) {$member_status_out ='not_active';} //emember not active
                        else if ($status == 3) {$member_status_out ='member_lock';}
                                  else{}
                                 
                       // if  ( ($Days3 >= 0) AND ($status == 2)) {$member_status_out = 'active';} //member active
                      //  else if ($status == 3){$member_status_out ='not_active';} //emember not active
                              //    else {$member_status_out ='not_active';} //emember not active
                     return array ($member_status_out,$Days3,$status);



มีเว็บตัวอย่าง ให้ดู ส่งลิ้งให้ทาง หลังไมค์ ครับ  

   
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 19:07:34
โอ้วขอบคุณมากครับ ขอให้ช่วยอธิบาย หรือ comment เพิ่มเติมหน่อยจะเป็นการรบกวนเกินไปไหม
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: bonshington ใน 21 เมษายน 2012, 19:21:15
แนะนำ 2 วิธี อย่างแรก ใช้ได้กัทุก db
1. self join ข้อดีคือ มันอยู่ table เดียวกันหมด
table a
pk, name, boss

select lv0.name, lv1.name, lv2.name, lv3.name
from a as lv0
left join a lv1 on lv1.boss = lv0.name
left join a lv2 on lv2.boss = lv1.name
left join a lv3 on lv3.boss = lv2.name
where boss is null
วิธีนี้ไม่ยาก ให้ทำเป็น view ไป เวลา select จะง่ายกว่ามาก

2 recursive query ใช้ได้กับเฉพาะ postgres
with recursive look_down(_head) as (
  select pk, name, boss, 1 as lv from a where boss is null -- level top สุด
union
  select child.*, parent.lv + 1 as lv
  from look_down child, a parent
  where child.boss = parent.name
)
select * from look_down

แบบ 2 performance ดีมาก เพราะเป็นคำสั่งของมันเอง แถมเวลามี level downline เพิ่ม ไม่ต้องแก้ code ด้วย วิธีนี้ยากกว่ามาก postgres เองก็มีคนเป็นไม่เยอะ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: sbaydee ใน 21 เมษายน 2012, 19:26:27
โคดเยอะระวังกระทู้เน่านะครับ  :P
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: bubbleball ใน 21 เมษายน 2012, 19:57:13
อยากรู้ถ้า นับจำนวนดาวน์ไลน์รวมทั้งหมดของแต่ละ user แบบไม่จำกัดลำดับชั้น ยากไหมครับ ตั้งแต่คนนั้นเป็นต้นไป

ห่วงเรื่องเดียว ถ้าไล่นับ node กว่าจะหมดกลัวเซิร์ฟเวอร์ทำงานหนัก
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 22:37:34
แต่ของผมมันคำนวณรายได้แค่ 5 ชั้นอ่าครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: niwechn ใน 21 เมษายน 2012, 23:30:00
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 22:37:34
แต่ของผมมันคำนวณรายได้แค่ 5 ชั้นอ่าครับ

ก็ตัดชั้นที่ 6 ออกไป ครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: niwechn ใน 21 เมษายน 2012, 23:51:05
อ้างถึงจาก: bubbleball ใน 21 เมษายน 2012, 19:57:13
อยากรู้ถ้า นับจำนวนดาวน์ไลน์รวมทั้งหมดของแต่ละ user แบบไม่จำกัดลำดับชั้น ยากไหมครับ ตั้งแต่คนนั้นเป็นต้นไป

ห่วงเรื่องเดียว ถ้าไล่นับ node กว่าจะหมดกลัวเซิร์ฟเวอร์ทำงานหนัก

ถ้าไม่กำหนดชั้น มันจะทำให้การคำนวนชั้น ไม่มีลิมิท จะทำให้เกิดการคำนวนไม่สิ้นสุด จะมีปัญหากับการคำนวน ค่าตอบแทน และระบบมันอาจจะล่มได้ครับ ทางที่ดีระบุชั้นไว้ดีกว่า
เอาเป็น  10  20 30  หรือเท่าใดก็ได้  ในทางปฏิบัติ  แล้วมันลงชั้นไม่มากรอกครับ ถ้าเรากำหนด ติดตัวซ้ายขวา ไว้เหมาะสม
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 21 เมษายน 2012, 23:58:11
อ้างถึงจาก: niwechn ใน 21 เมษายน 2012, 23:30:00
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 22:37:34
แต่ของผมมันคำนวณรายได้แค่ 5 ชั้นอ่าครับ

ก็ตัดชั้นที่ 6 ออกไป ครับ
รับทราบคับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: gukorn ใน 22 เมษายน 2012, 13:23:44
ผมเคยรับงาน MLM ปีแล้ว
1.รับโบนัสระดับ 6 ชั้น
2.โบนัสพิเศษลูกทีมทำงาน 10 คน(ในชั้นที่1)
3.โบนัสพิเศษในชั้นที่1 มีคนทำข้อได้ครบ 3 คน

ระบบศูนย์จำหน่าย
1.โบนัสจากยอกจำหน่าย
2.โบนัสแนะนำศูนย์จำหน่าย

PM ปรึกษาได้ ครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 22 เมษายน 2012, 22:03:31
อ้างถึงจาก: gukorn ใน 22 เมษายน 2012, 13:23:44
ผมเคยรับงาน MLM ปีแล้ว
1.รับโบนัสระดับ 6 ชั้น
2.โบนัสพิเศษลูกทีมทำงาน 10 คน(ในชั้นที่1)
3.โบนัสพิเศษในชั้นที่1 มีคนทำข้อได้ครบ 3 คน

ระบบศูนย์จำหน่าย
1.โบนัสจากยอกจำหน่าย
2.โบนัสแนะนำศูนย์จำหน่าย

PM ปรึกษาได้ ครับ

ครับผมขอบคุณครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 23 เมษายน 2012, 00:39:28
ขอบคุณทุกท่านที่มาช่วยให้คำแนะนำนะครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 23 เมษายน 2012, 23:42:08
แต่ละคนจะสามารถแนะนำได้ไม่เกิน 6 คน คำนวนรายได้ลึกแค่ 5 ชั้น
มีเรท คูณแต่ละชั้นดังนี้
สมมติจะคิดรายได้ของ a ชั้นที่ a แนะนำ คูณ 60  ชั้นต่อไป 30  20 20 10 ตามลำดับ
อยากทราบวิธีเขียนโปรแกรมหารายได้ครับ
ที่ผมคิดไว้คือ



username   ไอดีแนะนำของupline   ไอดีที่เราเอาไว้แนะนำคนอื่น
     a                      -                             aaaa                   ตอนนี้ a มีรายได้ = (1x60)+(1x30)+(1x20)+(1x20)+(1x10)
     b                    aaaa                          bbbb                                         = 140
     c                    bbbb                         cccc
     d                    cccc                           dddd
     e                     dddd                         eeee
     f                     eeee                           ffff
   
และถ้าหากมีคนเพิ่มเช่น

username   ไอดีแนะนำของupline   ไอดีที่เราเอาไว้แนะนำคนอื่น
     a                      -                             aaaa                       ตอนนี้ a มีรายได้ = (2x60)+(1x30)+(3x20)+(1x20)+(1x10)
     b                    aaaa                          bbbb                                            = 240
     c                    bbbb                         cccc
     d                    cccc                           dddd
     e                     dddd                         eeee
     f                     eeee                           ffff
     g                     aaaa                          gggg
     h                     cccc                          hhhh
     i                      cccc                          iiii

ว่าจะมีวิธีเขียนโปรแกรมคำนวณรายได้ยังไง
   
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: firstdev ใน 24 เมษายน 2012, 23:48:57
ในที่สุดก็คิดออกแล้วครับขอบคุณทุกท่านครับ
ชื่อเรื่อง: Re: หาคนแนะนำ logic ระบบ mlm
โพสต์โดย: gukorn ใน 25 เมษายน 2012, 14:08:21
มีแต่คนเก่งๆๆ ทั้งนั้น  :wanwan003: