Ir para conteúdo
Fórum Script Brasil
  • 0

De Onde Veio Pra Onde Vai?


Guest --Antonio --

Pergunta

Guest --Antonio --

Ola, então pesso eu tenho a seguinte duvida como saber quem inidico quem em niveis tipo.

cod_user nome_user ind_user cidade_user

2 William 0 Penha

3 Luciane 2 Penha

4 Wagner 2 Penha

5 Maria da 2 Penha

6 Kristiano 3 Penha

7 Beto 6 Penha

Nesse exemplo o usuario de codigo 2 indicou .

3 Luciane 2 Penha

4 Wagner 2 Penha

5 Maria da 2 Penha

Assim o usuario de codigo 3 indicou.

6 Kristiano 3 Penha

E também assim o usuario de codigo 6 indicou.

7 Beto 6 Penha

......

Qual é a pergunta?

Simpes como eu vou ligar todos eles exemplo vou clicar no usuario de codigo 2

E dai o sistema vai falar OH o usuario 2 indico diretamente esses.

3 Luciane 2 Penha

4 Wagner 2 Penha

5 Maria da 2 Penha

Segundo nivel.

6 Kristiano 3 Penha

Terceiro nivel.

6 Kristiano 3 Penha

Bem assim pro primeiro nivel é facil.

<?php

$host     = "localhost";
$user     = "root";
$senha     = "";
$bd     = "banco";
mysql_connect($host,$user,$senha);
mysql_select_db($bd);

$sql = mysql_query("Select cod_user, nome_user, ind_user, cidade_user from teste");
 while($a = mysql_fetch_array($sql)) {
            echo "<tr><td bgcolor=\"#CCCCCC\" background=\"img/masnoticia.jpg\" height=\"20\" style=\"color:#FFFFFF;\" align=\"left\"> ".$a[nome_user]."</td><td> - Indiciados <a href=".$PHP_SELF."?indicados=".$a[ind_user]." target=\"_blank\">(Clique)</a><br /></td></tr><br />";
      }
if(isset($_GET['indicados'])){
$indicados = $_GET['indicados'];
$sql = mysql_query("Select cod_user, nome_user, ind_user, cidade_user from teste where ind_user=$indicados");
 while($a = mysql_fetch_array($sql)) {
            echo "<tr><td bgcolor=\"#CCCCCC\" background=\"img/masnoticia.jpg\" height=\"20\" style=\"color:#FFFFFF;\" align=\"left\"> ".$a[nome_user]."</td><td> - Indiciados <a href=".$PHP_SELF."?indicados=".$a[ind_user]." target=\"_blank\">(Clique)</a><br /></td></tr>";
      }
      }

?>

Mas e para ligar o resto :(

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

A lógica desses sistema de pirâmide é bem complexa, a modelagem do banco de dados não é feita dessa maneira (eu pelo menos não faria...se houver um número máximo de níveis, eu guardaria os indicados diretamente/indiretamente, na própria coluna que guarda quem foi que fez indicação...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Antonio --

Tah digamos então que eu tenha na modelagem da tablea a coluna

indicacoes :

Dentro deça coluna eu colocaria todos os indicados diretamente e inderetamente dividos por uma ,

mas digamos assim

Nome: Antonio

Idade: 18

Codigo: 007

Indicações: 008, 009, 010, 011 ( Porem o 10 e o 11 são do usuario 009 e assim são inderetamente meus porem como eu demostraria isso? ) teria que ter uma indicação para user diretos e user indiretos?

Ativo: 1

Link para o comentário
Compartilhar em outros sites

  • 0

Se eu estivesse fazendo, no momento que a pessoa se cadastra no sistema eu criaria as ligações... se tiver 5 níveis, criaria 5 colunas, nivel1,nivel2...nivel5, e guardaria ai os IDs dos indicados... acho que é o modo mais simples...

Link para o comentário
Compartilhar em outros sites

  • 0

olha so, eu faria assim..

montaria um campo no banco de dados com o nome de referencia.

até ai tudo bem, agora você pode gravar pelo id do referente.

exemplo

ID NOME REFENCIA

1 Carlos 0

2 Joaquim 1

olha a referncia do joaquim esta 1.

logo quem indico ele foi o Carlos x)

assim, teria como você fazer uma arvore gigantesca, tipo..

ID NOME REFENCIA

1 Carlos 0

2 Joaquim 1

3 Maria 2

4 Silva 3

logo quem indico a Sivia foi a Maria.

mais quem indico a Maria?

o Joaquim.

mais quem indico o Joaquim?

foi o Carlos...

mais qeum indico o Carlos?

ninguém.

logo quando o cara tiver referencia = 0 ou = a vazio ngm indico ele.

ta mais como fazer isto?

vamos a pratica então.

faça um combobox com os nomes que estão no banco de dados..

<?
include("conectar_com_o_banco.php");
$sql = "SELECT * FROM tabela";
$exe = mysql_query($sql);
echo "Se alguém tiver lhe indicado, escolha o nome no campo referencia, ou deixe em branco!<br>";
echo "<form action=\"grava.php\" name=\"referencia\" method=\"POST\">";
echo "NOME : <input type=\"text\" name=\"nome\"><br>";
echo "<select name=\"referencia\">";
while($linha=mysql_fetch_object($exe)){
echo "<option value=\"\">Referencia</option>";
 echo "<option value=\"".$linha->id."\">".$linha->nome."</option>";
}
echo "</option>";

?>
o seu campo de refencia esta montado. como gravar no banco de dados? facil de mais uai... bora la,
<?
include("conectar_com_o_banco.php");
if($_POST['referencia'] == ""){
  $_POST['referencia'] = "0";
}

$sql = "INSERT INTO tabela(nome,referencia) VALUES('".$_POST['nome']."','".$_POST['referencia']."')";
$exe = mysql_query($sql);

echo "Cadastrado com sucesso!";

?>

olha, isto é uma coisa, bem simples é so pra você intender a logica, e se tiver algo errado me descupa e que eu estou com preguiça de abrir o zend aqui. xD

enfim,

boa sorte.

Editado por ESerra
Utilize as tags [code] [/code]
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Antonio --

Seu codigo esta bem porem para uma unica indicação e se fosse com niveis tipo

001 Carlos 1

002 Maria ( Amiga de Carlos ) 001

003 Joao ( Amigo de Maria ) 002

004 Pedro ( Amigo de Joao ) 003

Porem todos eles são indicados diretamente e indiretamente por Carlos.

Já que até o nivel 7 seriam da rede dele você entendeu?

Essa parte de niveis que esta complicando a cabeça

Link para o comentário
Compartilhar em outros sites

  • 0

isto é muito complexo mesmo, eu tomei uma surra um dia deste pra fazer uma arvore destas, mais olha so, você pode fazer algo assim..

Maria teria referencia de Carlos.

logo na hora de mostrar você faria dois while(){}

um pra colocar o option = $linha-> id //que seria o que não foram indicados

e um pra colocar o option = $linha->referencia //os que foram indicados.

logo você colocando o id refencia pra maria, ficaria assim..

001 Carlos 1 <- aqui eu acho que deveria ser 0, fica mais facil de intender...

002 Maria ( Amiga de Carlos ) 001

003 Joao ( Amigo de Maria ) 001

004 Pedro ( Amigo de Joao ) 001

todos com referencia em Carlos, mais se tiver que fazer um controle pra pagar cache, não seria cache mais me fugiu as palavras agora.

pagar uma comissão. isto.

pagaria tudo pro Carlos e não pra Maria, ou Pro Joao.

enfim, eu acho que eu fico bem explicando na parte de cima. x)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...