Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sukinha1501

Definir parametros para graduação multinivel

Recommended Posts

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;
 
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas Fácil deixar o código mais enxuto do que tentar adaptar, para ai sim tenta incrementar algo novo, confesso que não entendi nada neste código!

Veja a quantidade de querys fazendo praticamente a mesma coisa. Elimine as redundâncias, assim você saberá o que sera necessário para que o sistema funcione corretamente

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);
  }

Veja que, em uma única função voce elimina outras seis funções totalmente desnecessárias.

/**
* Obter ID Members
* @param $arr array contendo o ID
* @param $graduacao graduação do usuário
*/
function getQuantosQualificados($arr, $graduacao=''){
    

    $rs = mysql_query("SELECT ID FROM members WHERE Leader = '".$arr['ID']."' AND graduacao = '{$graduacao}'");
    
    return mysql_num_rows($rs);


}

De uma olhada no que mais possa ser otimizado, assim entenderemos melhor oque você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então....

O código esta confuso mesmo,eu sei.

Pois no codigo que tenho as graduações tem nomes diferentes (Bronze,Prata,ouro,topazio,etc...), e as graduações são definidas por pontuação alcancada e por conseguir graduar os downlines...

Estou tentando alterá-lo para deixar as graduações por nível completo e não por pontuação, como está definido...

Exemplo:

A primeira graduação é o consumidor start.

No codigo esta definido que para tal é necessario atingir 2000 pontos.

Porem, o que quero fazer é definir parametros para que as pessoas não graduem por pontos e sim por níveis completos.

Para atingir a primeira graduação (consumidor start), por exemplo, a pessoa teria que ter seu primeiro nivel completo, ou seja, 3 consumidores ativos.

E assim por diante...

A Tabela "Members" (onde estao armazenados os dados dos consumidores), fica no banco de dados nomedaempresa_mmn e Tem as seguintes colunas:

CREATE TABLE dummy (
	`ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`Name` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Address` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`City` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`State` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Zip` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Country` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Phone` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Email` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Password` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`PaymentDetails` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`ref_by` INT(10) UNSIGNED NOT NULL,
	`Level1` INT(10) UNSIGNED NOT NULL,
	`Level2` INT(10) UNSIGNED NOT NULL,
	`Level3` INT(10) UNSIGNED NOT NULL,
	`Level4` INT(10) UNSIGNED NOT NULL,
	`Level5` INT(10) UNSIGNED NOT NULL,
	`Level6` INT(10) UNSIGNED NOT NULL,
	`Level7` INT(10) UNSIGNED NOT NULL,
	`Level8` INT(10) UNSIGNED NOT NULL,
	`Level9` INT(10) UNSIGNED NOT NULL,
	`Level10` INT(10) UNSIGNED NOT NULL,
	`Leader` INT(10) UNSIGNED NOT NULL,
	`Total` FLOAT(8,2) NULL DEFAULT '0.00',
	`Unpaid` FLOAT(8,2) NULL DEFAULT '0.00',
	`Paid` FLOAT(8,2) NULL DEFAULT '0.00',
	`IP` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`Date` DATETIME NULL DEFAULT NULL,
	`DatePagamentoBonus` DATE NULL DEFAULT NULL,
	`pacote` VARCHAR(100) NOT NULL DEFAULT 'lider' COLLATE 'utf8_unicode_ci',
	`cpf` VARCHAR(32) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`banco` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`agencia` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`conta` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`titular` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`neteller` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`contasuper` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`paypal` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`token` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`status` INT(11) NOT NULL COMMENT '1 para ativado, 0 para inativo para recebimento de bonus (login independe disso!)',
	`banco_cpf` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
	`tipo_conta` ENUM('cc','poupanca') NOT NULL DEFAULT 'cc' COLLATE 'utf8_unicode_ci',
	`bairro` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
	`n_reativacoes` INT(11) NOT NULL DEFAULT '0',
	`pontos` INT(20) NULL DEFAULT '0',
	`totalultimascompras` FLOAT NOT NULL DEFAULT '0' COMMENT 'soma do montante de todas compras na loja virtual desde do ultimo saque efetuado, isso eh usado para manter o saldo disponivel coerente',
	`fb_uid` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
	`saldo_binario_sacado_e` INT(20) NOT NULL DEFAULT '0' COMMENT 'perna esquerda',
	`saldo_binario_sacado_d` INT(20) NOT NULL COMMENT 'perna direita',
	`produtos_indicados` INT(20) NOT NULL DEFAULT '0' COMMENT 'armazena a quantidade de produtos comprados na loja quando o comprador acessa via url pessoal do membro indicador',
	`graduacao` VARCHAR(30) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`saldo` FLOAT NOT NULL DEFAULT '0',
	`saldo_indiretos_sacado` FLOAT(20,2) NOT NULL DEFAULT '0.00',
	`proxima_perna` ENUM('e','d','a') NOT NULL DEFAULT 'a' COLLATE 'utf8_unicode_ci',
	`perna` ENUM('e','d') NOT NULL DEFAULT 'e' COLLATE 'utf8_unicode_ci',
	`pagamento_unilevel` DATE NOT NULL,
	`DatePagamentoBonusUnilevel` DATE NOT NULL,
	`ponto` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`rg` VARCHAR(40) NOT NULL COLLATE 'utf8_unicode_ci',
	`cestas` INT(10) NOT NULL DEFAULT '0',
	`feito_unilevel` DATE NOT NULL,
	`IsStandby` ENUM('S','N') NOT NULL DEFAULT 'N' COLLATE 'utf8_unicode_ci',
	`pagou_adesao` DATE NULL DEFAULT NULL,
	`cupom` FLOAT NULL DEFAULT NULL,
	`codigocupom` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci'
)

A questão é...

Como definir parametros para identificar quantas pessoas tem em cada "nível"(Level1, Level2,Level3,etc...), e se as mesmas estão "ativas".

OBS: AS ativações mensais de cada um aparecem na coluna `DatePagamentoBonusUnilevel`, so que aparecem em forma de data....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tirou as redundâncias do código, mas criou outro problema diretamente no banco.

	`Level1` INT(10) UNSIGNED NOT NULL,
	`Level2` INT(10) UNSIGNED NOT NULL,
	`Level3` INT(10) UNSIGNED NOT NULL,
	`Level4` INT(10) UNSIGNED NOT NULL,
	`Level5` INT(10) UNSIGNED NOT NULL,
	`Level6` INT(10) UNSIGNED NOT NULL,
	`Level7` INT(10) UNSIGNED NOT NULL,
	`Level8` INT(10) UNSIGNED NOT NULL,
	`Level9` INT(10) UNSIGNED NOT NULL,
	`Level10` INT(10) UNSIGNED NOT NULL,

Essa tabela tem responsabilidade demais, normalize os dados

A normalização é o processo de organizar dados em um banco de dados. Isso inclui criar tabelas e estabelecer relacionamentos entre as tabelas de acordo com regras projetadas para proteger os dados e tornar o banco de dados mais flexível, eliminando a redundância e dependência inconsistente.

https://support.microsoft.com/pt-br/kb/283878

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por sukinha1501
      Boa noite.
      Estou quebrando a cabeça para fazer um select que aparentemente é simples, mas, não consigo fazer funcionar...
      Preciso preencher os "níveis" (Level1,Level2,Level3,Level4, etc...), selecionando o Leader do Leader.
      Exemplo:
      Eu , indiquei o João(ID 1),Que por sua vez, indicou a Maria(ID 2), que indicou o Lucas(ID 3).
      Eu Sou o Leader do João(ID 1), e ele tem que entrar na minha coluna "Level1".
      O João (ID 1) é Leader da Maria (ID 2 ), e ela tem que entrar na minha coluna "Level2", pois está abaixo do João.
      A Maria (ID 2) é Leader do Lucas (ID 3 ), e ele tem que entrar na minha coluna "Level3", pois está abaixo da Maria.
      Todos eles estão diretamente( no caso o joão) e indiretamente (no caso a Maria e o Lucas) na minha rede, mas cada um tem um Leader (upline), ou seja, um ID de indicação diferente, e não sei como fazer cada um deles entrar na coluna certa....
      Tenho um banco de dados chamado nomedaempresa_mmn e neste tem a tabela members . As colunas desta tabela são essas:
      CREATE TABLE dummy ( `ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `Name` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Address` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `City` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `State` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Zip` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Country` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Phone` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Email` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Password` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `PaymentDetails` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `ref_by` INT(10) UNSIGNED NOT NULL, `Level1` INT(10) UNSIGNED NOT NULL, `Level2` INT(10) UNSIGNED NOT NULL, `Level3` INT(10) UNSIGNED NOT NULL, `Level4` INT(10) UNSIGNED NOT NULL, `Level5` INT(10) UNSIGNED NOT NULL, `Level6` INT(10) UNSIGNED NOT NULL, `Level7` INT(10) UNSIGNED NOT NULL, `Level8` INT(10) UNSIGNED NOT NULL, `Level9` INT(10) UNSIGNED NOT NULL, `Level10` INT(10) UNSIGNED NOT NULL, `Leader` INT(10) UNSIGNED NOT NULL, `Total` FLOAT(8,2) NULL DEFAULT '0.00', `Unpaid` FLOAT(8,2) NULL DEFAULT '0.00', `Paid` FLOAT(8,2) NULL DEFAULT '0.00', `IP` VARCHAR(75) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `Date` DATETIME NULL DEFAULT NULL, `DatePagamentoBonus` DATE NULL DEFAULT NULL, `pacote` VARCHAR(100) NOT NULL DEFAULT 'lider' COLLATE 'utf8_unicode_ci', `cpf` VARCHAR(32) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `banco` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `agencia` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `conta` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `titular` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `neteller` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `contasuper` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `paypal` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `token` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `status` INT(11) NOT NULL COMMENT '1 para ativado, 0 para inativo para recebimento de bonus (login independe disso!)', `banco_cpf` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci', `tipo_conta` ENUM('cc','poupanca') NOT NULL DEFAULT 'cc' COLLATE 'utf8_unicode_ci', `bairro` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci', `n_reativacoes` INT(11) NOT NULL DEFAULT '0', `pontos` INT(20) NULL DEFAULT '0', `totalultimascompras` FLOAT NOT NULL DEFAULT '0' COMMENT 'soma do montante de todas compras na loja virtual desde do ultimo saque efetuado, isso eh usado para manter o saldo disponivel coerente', `fb_uid` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci', `saldo_binario_sacado_e` INT(20) NOT NULL DEFAULT '0' COMMENT 'perna esquerda', `saldo_binario_sacado_d` INT(20) NOT NULL COMMENT 'perna direita', `produtos_indicados` INT(20) NOT NULL DEFAULT '0' COMMENT 'armazena a quantidade de produtos comprados na loja quando o comprador acessa via url pessoal do membro indicador', `graduacao` VARCHAR(30) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `saldo` FLOAT NOT NULL DEFAULT '0', `saldo_indiretos_sacado` FLOAT(20,2) NOT NULL DEFAULT '0.00', `proxima_perna` ENUM('e','d','a') NOT NULL DEFAULT 'a' COLLATE 'utf8_unicode_ci', `perna` ENUM('e','d') NOT NULL DEFAULT 'e' COLLATE 'utf8_unicode_ci', `pagamento_unilevel` DATE NOT NULL, `DatePagamentoBonusUnilevel` DATE NOT NULL, `ponto` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `rg` VARCHAR(40) NOT NULL COLLATE 'utf8_unicode_ci', `cestas` INT(10) NOT NULL DEFAULT '0', `feito_unilevel` DATE NOT NULL, `IsStandby` ENUM('S','N') NOT NULL DEFAULT 'N' COLLATE 'utf8_unicode_ci', `pagou_adesao` DATE NULL DEFAULT NULL, `cupom` FLOAT NULL DEFAULT NULL, `codigocupom` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci' ) E o SELECT e UPDATE que estou tentando fazer é esse: (me corrijam por favor)
      $rs = mysql_query("SELECT *, DATE_FORMAT(DatePagamentoBonusUnilevel, '%d/%m/%Y') as DatePagamentoBonusUnilevelFormat FROM members WHERE Leader = '".(isset($_GET['father']) ? $_GET['father'] : $id)."' ORDER BY ID ASC") or die(mysql_error()); $mn = mysql_num_rows($rs); if($mn > 0 || isset($_GET['father'])){ $x = -1; for($i=0;$i<$mn;$i++){ if($i < $lat){ $M[$i] = mysql_fetch_array($rs); }else { $M_DERR[($i-$lat)] = mysql_fetch_array($rs); } } if(count($M_DERR) == 0){ $DERR = unserialize(urldecode($_GET['DERR'])); // REVIEW THIS LINE!! MAY BE WRONG OR NOT }else { $DERR = serialize($M_DERR); } $CM = count($M); $name = mysql_result(mysql_query("Select * From members WHERE ID = '".mysql_real_escape_string(isset($_GET['father']) ? $_GET['father'] : $id)."' LIMIT 1"),0,"Name"); echo '<style> body{ font-size:13px; font-family:Arial; font-weight:400; }</style>'; echo '<table border="0" celspacing="8" cellpadding="8" width="800">'; echo '<tr>'; echo '<td colspan="4"><center><img src="images/907397949.png" width="130"/><br/><b>("'.$name.'")</b></center><br/><br/></td>'; echo '</tr>'; echo '<tr>'; for($i=0; $i<$CM; $i++){ echo '<td width="200" valign="top" align="left">'; $DadMember = $M[$i]; $name = explode(" ",$M[$i][Name]); $name = ucfirst($name[0]); $MemCestBasc = IsMemberCestaBasica($M[$i]["ID"]); mysql_query("SELECT Leader FROM members WHERE Leader = '".$father."' ORDER BY ID ASC"); $dir = mysql_num_rows(mysql_query("SELECT * FROM members WHERE Leader = '".$id."'")); $indir = mysql_num_rows(mysql_query("SELECT * FROM members WHERE Leader = '".$Leader."'")); mysql_query("Update members set Level1=Level1+1 where ID=".$Leader."'"); mysql_query("Update members set Level2=Level2+1 where ID=".$Leader."'"); mysql_query("Update members set Level3=Level3+1 where ID=".$Leader."'"); mysql_query("Update members set Level4=Level4+1 where ID=".$Leader."'"); mysql_query("Update members set Level5=Level5+1 where ID=".$Leader."'"); mysql_query("Update members set Level6=Level6+1 where ID=".$Leader."'"); mysql_query("Update members set Level7=Level7+1 where ID=".$Leader."'"); mysql_query("Update members set Level8=Level8+1 where ID=".$Leader."'"); mysql_query("Update members set Level9=Level9+1 where ID=".$Leader."'"); mysql_query("Update members set Level10=Level10+1 where ID=".$Leader."'"); Me perdoem a bagunça. Mas é que tentei tantas coisas que já fiquei perdida...
      Se puderem me dar uma luz aqui, agradeço de coração.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.