Ir para conteúdo

Arquivado

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

MerciaGabi

como buscar uma lista de pessoas que indicaram

Recommended Posts

Pessoal Bom Dia

Não sei se este é o tópico certo, me desculpe caso tenha errado.

Estou montando um pequeno sistema de Controle Fidelidade e Vendas para um restaurante, a fim de um grande numero de pessoas conhecer o estabelecimento.

O Objetivo do sistema será fazer com que as pessoas que visitem o restaurante pela primeira vez, possa indica-los a seus amigos e assim sucessivamente, enviando um email para eles.

Qdo este amigo vier ao estabelecimento e consumir, o amigo que indicou receberia uma um percentual de desconto para o seu próximo retorno.

Como o objetivo é fazer com que o estabelecimento seja divulgado para o maior numero de pessoas possiveis através do boca-a-boca, a dono do restaurante quer promover esta iniciativa e concederá um bonus extra que será um desconto de 100% para o cliente que conseguir indicar direta e indiretamente 20 pessoas em um mês.

O meu problema esta em como fazer o controle destas indicações e poder controlar qtas pessoas já foram indicadas por um determinado cliente.

Montei uma tabela de clientes, onde consigo definir qual o amigo que o indiciou.

CLIENTES

ID_CLI
NOME
EMAIL
DT_ULTIMA_VISITA
EMAIL_AMIGO_INDICANTE
ID_AMIGO_INDICANTE
TELEFONE

Eu já consegui fazer uma consulta para saber os indicados apresentados pelo amigo.
SELECT ID_AMIGO_INDICADO, EMAIL_AMIGO_INDICADO from CLIENTES where ID_CLI = ID_AMIGO_INDICANTE

mas não consigo avançar para descobrir quais os Amigos que foram indicados pelos seus amigos.

Alguém pode me dar uma luz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informe o Banco de Dados pois alguns tem soluções próprias para sql hierarquicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Mysql não , mas já li sobre possíveis soluções.

"Queries hieararquicas mysql"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso de uma orientação de como criar uma função recursiva, que seja capaz de ler uma tabela MySql.

Como resultado, terá que gerar uma tabela temporaria em MYSQL , onde a partir desta tabela será mostrado a visualização de quem esta ligado a quem. A tabela principal seria
ID, NOME, IDP

1,A,0

2,B,1
3,C,1
4,D,2
5,E,2
6,F,2
7,G,3
8,H,3
9,I,3
10,J,1
11,K,,10
12,L,5
13,M,5
14,N,5

*IDP = Significa a que registro, deverá ser ligado o registro em questão.

//////////////////////// TABELA TEMPORARIA RESULTADO \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ID_TEMP,Linha,Nome,ID
1,1,A
2,2,B,
3,2,C,
4,2,J,
5,3,D
6,3,E
7,3,F
8,3,G
9,3,H
10,3,I
11,3,K
12,4,L
13,4,M
14,4,N

//// VISUALMENTE PRECISAREI MOSTRAR A SEGUINTE SEQUENCIA ****
Linha 1 = A

Linha 2 = B,C,J
Linha 3 = D,E,F,G,H,I,K
Linha 4 = L,M,N

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

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