คือ ผมจะทำ mlm 5 ชั้น การคูณรายได้ตามชั้นดังนี้ 60 30 20 20 10
อยากสอบถามท่านเทพว่า จะมีการออกแบบ database แบบ อ้างอิง id upline กับ downline ยังไงครับ
คือสมาชิกแต่ละคนจะเข้ามาในระบบได้จะต้องมีคนแนะนำ
ผมกะว่าจะเอา username มาเข้า md5 เพื่อนเป็น id ไว้สำหรับแนะนำ ดาวไลน์ เพราะ username จะไม่ซ้ำอยุ่แล้ว
ติดตรงที่การคำนวณรายได้นี่สิจะคิดยังไง
ซับซ้อนยิ่งนัก
ที่มคิดได้คือ วน loop 5 ชั้น อาจจะเป็นวิธีการที่เปลือง process ยิ่งนักใครพอมีวิธีแนะนำบ้าง
ขอคุณล่วงหน้าครับ
วิธีไล่แบบ tree ผมว่าน่าจะกินเวลานาน
อาจจะต้องมอง 1 user 1 action ทุกครั้งที่เกิดกิจกรรมการซื้อขาย เกิดรายได้หรือยอด ต้องเก็บค่าไว้ที่ตัวอัพไลน์ของคนนั้นๆหรือคนนั้นๆไว้เลย เพื่อลดการวนลูปรายละเอียดปลีกย่อยทีหลังอีกรอบ
จริงๆผมก็มองหาคนที่ทำระบบตรวจสอบผังองค์กรแบบ mlm ได้อยู่บ้างเหมือนกัน
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 01:48:49
คือ ผมจะทำ mlm 5 ชั้น การคูณรายได้ตามชั้นดังนี้ 60 30 20 20 10
อยากสอบถามท่านเทพว่า จะมีการออกแบบ database แบบ อ้างอิง id upline กับ downline ยังไงครับ
คือสมาชิกแต่ละคนจะเข้ามาในระบบได้จะต้องมีคนแนะนำ
ผมกะว่าจะเอา username มาเข้า md5 เพื่อนเป็น id ไว้สำหรับแนะนำ ดาวไลน์ เพราะ username จะไม่ซ้ำอยุ่แล้ว
ติดตรงที่การคำนวณรายได้นี่สิจะคิดยังไง
ร่วมหุ้นด้วยดิท่าน
ว่าแต่ทำใช้เองป่าว
อ้างถึงจาก: bubbleball ใน 21 เมษายน 2012, 02:00:50
วิธีไล่แบบ tree ผมว่าน่าจะกินเวลานาน
อาจจะต้องมอง 1 user 1 action ทุกครั้งที่เกิดกิจกรรมการซื้อขาย เกิดรายได้หรือยอด ต้องเก็บค่าไว้ที่ตัวอัพไลน์ของคนนั้นๆหรือคนนั้นๆไว้เลย เพื่อลดการวนลูปรายละเอียดปลีกย่อยทีหลังอีกรอบ
จริงๆผมก็มองหาคนที่ทำระบบตรวจสอบผังองค์กรแบบ mlm ได้อยู่บ้างเหมือนกัน
ขอโทษด้วยที่คำถามผมไม่เคลียร์ครับ ไม่มีการขายของ มีแต่รายได้จากการแนะนำสมาชิกมาใช้ระบบภายในเว็บครับ แนะนำมาสมัครได้ ก็ได้ค่าแนะนำคิดรายได้เป็นชั้นๆ
ลอง search mlm script ผมเห็ฯมีขายเยอะแยะครับ เอามาแกะแก้ไขเป็นแบบที่ชอบดูไม่น่ายาก
อ้างถึงจาก: 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 ลูกค้าครับ
ถ้ามองแบบ top to down ก็คือไล่วนตรวจสอบบนลงล่าง
ถ้ามองแบบ down to top ก็ดูว่ากิจกรรมอะไรเกิดขึ้นเมื่อไรตอนไหน ก็ส่งผลขึ้นไปที่ระดับบน ณ เดี๋ยวนั้น
อ้างถึงจาก: HackFreeze ใน 21 เมษายน 2012, 02:04:49
ลอง search mlm script ผมเห็ฯมีขายเยอะแยะครับ เอามาแกะแก้ไขเป็นแบบที่ชอบดูไม่น่ายาก
ผมไม่อยากเพิ่มค่าใช้จ่ายมาก จริงๆมีวิธีคิดในใจอยู่บ้างแต่มันไม่ค่อยเหมาะเท่าไรครับ เลยลองขอแชร์ ไอเดีย
ขอบคุณครับ
ก็เช็คว่า user นั้นได้ refer มาจาก user ใด แล้วก็ให้เช็คว่า user ที่ refer มานั้นอยู่ขั้นไหน ลองใช้ if else ถ้า เป็น ขั้น 1 ก็คูณ 10 คูณเท่านั้นเท่านี้ก็ว่าไป ไม่รู้ใช้ได้มั้ย ครับ คงต้องมี database ตาราง user กับ ตารางชื่อ ของสาย แล้วเช็คทั้ง 2 ค่านี้ เพื่อจะได้รู้ว่าใครอยู่สายไหน :P
อ้างถึงจาก: masterkan ใน 21 เมษายน 2012, 07:57:24
ก็เช็คว่า user นั้นได้ refer มาจาก user ใด แล้วก็ให้เช็คว่า user ที่ refer มานั้นอยู่ขั้นไหน ลองใช้ if else ถ้า เป็น ขั้น 1 ก็คูณ 10 คูณเท่านั้นเท่านี้ก็ว่าไป ไม่รู้ใช้ได้มั้ย ครับ คงต้องมี database ตาราง user กับ ตารางชื่อ ของสาย แล้วเช็คทั้ง 2 ค่านี้ เพื่อจะได้รู้ว่าใครอยู่สายไหน :P
ขอละเอียดกว่านี้ได้ไหม ขอบคุณมากครับ
สักครู่นะครับ เรียบเรียงก่อน
ใน 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 ได้นิดๆนะครับ
อ้างถึงจาก: 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 ชั้นครับ
คุณก็ใส่ $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 ไงครับ
อันนี้เป็น โค็ตที่ระบบของผมใช้อยู่ มีการตรวจสอบวันที่ หมดอายุของสมาชิกด้วย ว่าสมาชิกยัง แอคทีปอยู่หรือไม่
คำนวน ดาวไลน์ 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);
มีเว็บตัวอย่าง ให้ดู ส่งลิ้งให้ทาง หลังไมค์ ครับ
โอ้วขอบคุณมากครับ ขอให้ช่วยอธิบาย หรือ comment เพิ่มเติมหน่อยจะเป็นการรบกวนเกินไปไหม
แนะนำ 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 เองก็มีคนเป็นไม่เยอะ
โคดเยอะระวังกระทู้เน่านะครับ :P
อยากรู้ถ้า นับจำนวนดาวน์ไลน์รวมทั้งหมดของแต่ละ user แบบไม่จำกัดลำดับชั้น ยากไหมครับ ตั้งแต่คนนั้นเป็นต้นไป
ห่วงเรื่องเดียว ถ้าไล่นับ node กว่าจะหมดกลัวเซิร์ฟเวอร์ทำงานหนัก
แต่ของผมมันคำนวณรายได้แค่ 5 ชั้นอ่าครับ
อ้างถึงจาก: firstdev ใน 21 เมษายน 2012, 22:37:34
แต่ของผมมันคำนวณรายได้แค่ 5 ชั้นอ่าครับ
ก็ตัดชั้นที่ 6 ออกไป ครับ
อ้างถึงจาก: bubbleball ใน 21 เมษายน 2012, 19:57:13
อยากรู้ถ้า นับจำนวนดาวน์ไลน์รวมทั้งหมดของแต่ละ user แบบไม่จำกัดลำดับชั้น ยากไหมครับ ตั้งแต่คนนั้นเป็นต้นไป
ห่วงเรื่องเดียว ถ้าไล่นับ node กว่าจะหมดกลัวเซิร์ฟเวอร์ทำงานหนัก
ถ้าไม่กำหนดชั้น มันจะทำให้การคำนวนชั้น ไม่มีลิมิท จะทำให้เกิดการคำนวนไม่สิ้นสุด จะมีปัญหากับการคำนวน ค่าตอบแทน และระบบมันอาจจะล่มได้ครับ ทางที่ดีระบุชั้นไว้ดีกว่า
เอาเป็น 10 20 30 หรือเท่าใดก็ได้ ในทางปฏิบัติ แล้วมันลงชั้นไม่มากรอกครับ ถ้าเรากำหนด ติดตัวซ้ายขวา ไว้เหมาะสม
ผมเคยรับงาน MLM ปีแล้ว
1.รับโบนัสระดับ 6 ชั้น
2.โบนัสพิเศษลูกทีมทำงาน 10 คน(ในชั้นที่1)
3.โบนัสพิเศษในชั้นที่1 มีคนทำข้อได้ครบ 3 คน
ระบบศูนย์จำหน่าย
1.โบนัสจากยอกจำหน่าย
2.โบนัสแนะนำศูนย์จำหน่าย
PM ปรึกษาได้ ครับ
อ้างถึงจาก: gukorn ใน 22 เมษายน 2012, 13:23:44
ผมเคยรับงาน MLM ปีแล้ว
1.รับโบนัสระดับ 6 ชั้น
2.โบนัสพิเศษลูกทีมทำงาน 10 คน(ในชั้นที่1)
3.โบนัสพิเศษในชั้นที่1 มีคนทำข้อได้ครบ 3 คน
ระบบศูนย์จำหน่าย
1.โบนัสจากยอกจำหน่าย
2.โบนัสแนะนำศูนย์จำหน่าย
PM ปรึกษาได้ ครับ
ครับผมขอบคุณครับ
ขอบคุณทุกท่านที่มาช่วยให้คำแนะนำนะครับ
แต่ละคนจะสามารถแนะนำได้ไม่เกิน 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
ว่าจะมีวิธีเขียนโปรแกรมคำนวณรายได้ยังไง
ในที่สุดก็คิดออกแล้วครับขอบคุณทุกท่านครับ
มีแต่คนเก่งๆๆ ทั้งนั้น :wanwan003: