Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
Select Leader do Leader na tabela
Por
sukinha1501, em PHP
Recommended Posts
-
Conteúdo Similar
-
Por Carlos Alberto Vieira
Olá a todos;
Estou montando uma rede de níveis tipo marketing multinível e cheguei em um ponto que não estou conseguindo avançar, é o seguinte: A pessoa entra no site faz o cadastro dela, e vai fazendo compras durante aquele mês, e dessas compras vai acumulando os seus pontos, e vou gravando esses pontos no banco de dados com datas e tudo. Se a pessoa quiser trocar os seus pontos por produto, ela tem que ter um x de pontos para poder trocar, até aí beleza. Só que ela tem que trocar os seus pontos durante aquele período ou mês, e se ela não trocar durante aquele período e virar o mês, os seus pontos devem ir para uma tabela de pontos acumulados pois não pode passar para o próximo período ou mês e juntar com os pontos daquele período ou mês, é aí que estou parado. Não consigo pensar em uma logica para transferir esses pontos que ela não trocou naquele período ou mês para uma outra tabela de pontos acumulados quando estiver acabando aquele período, alguém poderia me auxiliar nessa lógica?
-
Por sukinha1501
Boa tarde.
Tenho um sistema multinivel onde preciso alterar, ou criar, alguns paramentros para definir a forma como as graduações sao alcancadas no mesmo.
Atualmente as graduações no sistema sao alcancadas conforme pontuação pre-definida. Porem, preciso definir parametros que façam com que as graduações sejam alcancadas conforme o numero de donwlines ativos.
A minha matriz e de 3x5.
EXEMPLO: no nivel se os 3 downlines estiverem ativos(compraram esse mes) , o cadastrado atinge a graduação de consumidor start.
no nivel 2 são 9 downlines, que se somados com os 3 do 1º nivel, totalizam 12 pessoas. Se essas 12 pessoas estiverem ativas (efetuaram compra no mes) , o cadastrado se torna um consumidor inteligente. e assim por diante.
Alguma ideia de como insiro esseparametro para coleta de dados de ativação dos downlines para que o sistema reconhça quais graduações dar a cada um deles?
Meu codigo esta assim\: (alterei as nomenclaturas das graduações, porém, nas funcoes permanece como o original "getQuantosQualificadosBronze, getQuantosQualificadosPrata, etc...")
function getGraduacaoPorId($graduacao){ switch($graduacao){ case 1 : return "Consumidor Start"; break; case 2 : return "Consumidor Inteligente"; break; case 3 : return "Consumidor Star"; break; case 4 : return "Consumidor Sênior"; break; case 5 : return "Consumidor Diamante"; break; case 6 : return "Consumidor Duplo Diamante"; break; case 7 : return "Consumidor Triplo Diamante"; break; default : return "S/ Graduacao"; break; } } function getGraduacao($arr){ $graduacao = 0; // Consumidor Start if($arr['pontos'] >= 2000){ $graduacao = 1; } $q = quantosQualificados($arr); // Consumidor Inteligente if($arr['pontos'] >= 5000){ if(getQuantosQualificadosBronze($arr) >= 2){ $graduacao = 2; } } // Consumidor Star if($arr['pontos'] >= 10000){ if($q >= 4){ if(getQuantosQualificadosPrata($arr) > 0){ $graduacao = 3; } } } // Consumidor Sênior if($arr['pontos'] >= 25000){ if($q >= 4){ if(getQuantosQualificadosPrata($arr) >= 2){ $graduacao = 4; } } } // Consumidor Diamante if($arr['pontos'] >= 50000){ if($q >= 4){ if(getQuantosQualificadosPrata($arr) > 0 && getQuantosQualificadosOuro($arr) > 0){ $graduacao = 5; } } } // Consumidor Duplo Diamante if($arr['pontos'] >= 120000){ if($q >= 6){ if(getQuantosQualificadosOuro($arr) > 0 && getQuantosQualificadosTopazio($arr) > 0){ $graduacao = 6; } } } // Consumidor Triplo Diamante if($arr['pontos'] >= 250000){ if($q >= 6){ if(getQuantosQualificadosOuro($arr) > 0 && getQuantosQualificadosTopazio($arr) > 0 && getQuantosQualificadosPrata($arr) > 0){ $graduacao = 7; } } } return $graduacao; } function quantosQualificados($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND status = 1"); $qualificados = 0; for($i = 0; $i < mysql_num_rows($rs); $i++) { $iddd = mysql_result($rs,$i,"ID"); $q = mysql_num_rows(mysql_query("SELECT ID FROM members WHERE Leader = '".$iddd."' AND status = 1")); $qualificados += $q; } return $qualificados; } function getQuantosQualificadosBronze($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'bronze'"); return mysql_num_rows($rs); } function getQuantosQualificadosPrata($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'prata'"); return mysql_num_rows($rs); } function getQuantosQualificadosOuro($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'ouro'"); return mysql_num_rows($rs); } function getQuantosQualificadosTopazio($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'topazio'"); return mysql_num_rows($rs); } function getQuantosQualificadosEsmeralda($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'esmeralda'"); return mysql_num_rows($rs); } function getQuantosQualificadoRubi($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'rubi'"); return mysql_num_rows($rs); } function getQuantosQualificadosPlatinium($arr){ $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = 'platinium'"); return mysql_num_rows($rs); } $DISP = $DISP == 1987 ? 0 : $DISP; $DISP = $arr['Unpaid']; $ganhos = $arr['Total']; //$DISP < 0 ? $DISP = 0 : false; $DISP = $arr['status'] == 0 ? 0 : $DISP; mysql_query("UPDATE members SET saldo = '".($DISP)."' WHERE ID = '".$id."' LIMIT 1"); $_SESSION['DISP'] = $DISP; function IsMemberCestaBasica($CodigoMembro) { $ConsMem = mysql_query( " Select IsStandby, DatePagamentoBonusUnilevel, DateDiff(Now(), DatePagamentoBonusUnilevel) as DatePagamentoBonusUnilevelDiff From members Where ID = " . $CodigoMembro . " Limit 1 "); $TotaMem = mysql_num_rows($ConsMem); $DadoMem = mysql_fetch_array($ConsMem); $RetFinal = array(); if($TotaMem) { if( $DadoMem["IsStandby"] == "S" ) { $RetFinal = array("Imagem" => "Laranja", "Mensagem" => "Standby"); }else{ if( $DadoMem["DatePagamentoBonusUnilevel"] == "0000-00-00" ) { $RetFinal = array("Imagem" => "Nunca", "Mensagem" => "Nenhuma Compra Feita"); }else{ if( $DadoMem["DatePagamentoBonusUnilevelDiff"] < 30 ){ $RetFinal = array("Imagem" => "Verde", "Mensagem" => "Última Compra á " . $DadoMem["DatePagamentoBonusUnilevelDiff"] . " dias"); }elseif( $DadoMem["DatePagamentoBonusUnilevelDiff"] >= 30 && $DadoMem["DatePagamentoBonusUnilevelDiff"] <= 60 ){ $RetFinal = array("Imagem" => "Amarelo", "Mensagem" => "Última Compra á " . $DadoMem["DatePagamentoBonusUnilevelDiff"] . " dias"); }else{ $RetFinal = array("Imagem" => "Vermelho", "Mensagem" => "Última Compra á " . $DadoMem["DatePagamentoBonusUnilevelDiff"] . " dias"); } } } }else{ $RetFinal = array("Imagem" => "Nunca", "Mensagem" => "Nenhuma Compra Feita"); } mysql_free_result($ConsMem); return $RetFinal; } ?>
-