Jump to content
bobzznnn

Mostrar Meus Indiretos

Recommended Posts

Olá meus amigos, eu não sei onde postar minha dúvida, então vou por aqui pois talvez alguem possa me ajudar.

É o seguinte, trabalho com sistema de Marketing em Laravel e pra cada usuário tem comissões multiniveis, ou seja

" Pedro indicou Maria( que neste caso 'Maria' Ficaria em Baixo de 'Pedro'. Até aí tudo bem!) logo após 'Maria' Recrutou outro membro o 'Joaquin'

( que neste caso 'Joaquin' Ficaria em Baixo de 'Maria')<-- eu não consigo mostrar este indicado('Joaquin') ao 'Pedro' que está lá em cima.

 

Exemplo: Suponhamos que eu sou o tal 'Pedro' e este da imagem abaixo é a 'Maria', sendo em baixo dela tem o ' Joaquin'(que n está aparecendo).

Gostaria de saber alguma forma de como clicar na 'Maria' e aparecer o 'Joaquin'.

 

 

indicados.png

 

segue meu html:

 

<table id="example2" class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>Nome</th>
                            <th>Email</th>
                            <th>Telefone</th>
                            <th>Situação</th>
                            <th>Investimento</th>
                            <th>Graduação</th>


                        </tr>
                    </thead>
                    <tbody>
                        @inject('usuarios', 'App\User')
                        @foreach($usuarios->getIndicados() as $user)
                        <tr>
                            <td><b>{{$user->name}}</b></td>
                            <td>{{$user->email}}</td>
                            <td>{{$user->telefone}}</td>
                           <!-- <td>{{$user->getUserDirection()}}</td> -->
                            <td>{{$user->getStatus()}}</td>
                            <td>{{$user->getPacote()->nome}}</td>
                            <td>{{$user->minhaGraduacao()}}</td>
                        </tr>
                        @endforeach
                    </tbody>
                </table>

 

Aqui o PHP:

 


    public function getIndicados($id = '') {

        if ($id == '') {

            $id = Auth::user()->id;

        }

        $reffer = Referrals::where('pai_id', $id)->get();



        $users = array();



        foreach ($reffer as $key => $r) {

            $users[$key] = $this->where('id', $r->user_id)->first();

        }



        return $users;

    }



    public function getFilhos($id = null, $count = false) {

        if (!$id) {

            $id = $this->id;

        }



        $reffer = Referrals::where('system_id', $id)->orderBy('direcao', 'ASC')->get();



        $users = array();



        foreach ($reffer as $key => $r) {

            $user = $this->where('id', $r->user_id)->first();

            $user->direcao = $this->getUserDirection($r->user_id);

            $users[$key] = $user;

        }



        if ($count) {

            return count($users);

        }



        return $users;

    }

 

Share this post


Link to post
Share on other sites

Basta buscar os indicados que tiverem o id de quem indicou.

Por exemplo, suponhamos que a tabela dos indicados tenha o id de quem indicou né.

 

Já que você esta listando todos os dados de um certo indicado. Basta pegar o id dele, e fazer uma nova consulta mas agr trazendo os indicados deste indicador .

 

É um pouco complexo de explicar esta parada... Na minha mente ta claro, não sei se consegui passar pra você isso..
Qlqr coisa manda uma msg pra mim!

Share this post


Link to post
Share on other sites

É meio chato e mt complexo realmente, mas tipo, não adianta eu colocar somente o id de quem indicou pq em uma outra conta a pessoa que indicou é outra.

O pior é que ja está tudo pronto, só organizar, as vezes parece fácil e realmente é, só que confundi mt a cabeça.

 

Ex: minha database no phpmyadmin é "xxxx" tenho a table "referrals"(são armazenados ids dos indicados) e a cima dela tem a tabela "users"(temos os usuários)e uma de suas estruturas é o "id".

Vamos supor que o "id 2" é o 'Pedro' que indicou o "id 3"' Maria' e ela indicou o "id 4" 'Joaquin'.

Eu estando na conta do "Pedro" só consigo ver meu indicado que neste caso é o "id 3" Maria, quero arrumar alguma forma de clicar no "id 3" 'Maria' que apareça o "id 4" Joaquin.

 

Nas variaveis EX: 

{{$user->nome}}

ele puxa somente oque há dentro da tabela "users", sendo que os "Referidos" estão na tabela "referrals" dentro da db "xxxx"

 

Share this post


Link to post
Share on other sites

Consegui fazer a contagem dos indicados dos meus indicados com uma simples função:

 public function nIndicados() {

        return Referrals::where('pai_id', $this->id)->count();

    }

 

 

e chamei ela no html 

 

<img class="img-avatar img-avatar-thumb" src="/img/positivo.png" width="128" data-container="body" alt="User Avatar" title="{{$user->nIndicados()}}"data-toggle="tooltip" style="cursor:pointer;"></td>

 

Enfim consegui resolver uma parte.

Aonde tem a imagem com o Sinal de '+' mostra a quantidade de diretos que a pessoa tem

Como eu faria pra poder mostrar os nomes de cada um ao inves de quantidades? melhor se fosse os 2

 

indicados.thumb.png.7806ae90f33d5909a91a172c6e568a23.png

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rodrigofv1994
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ajax";   $email = $_POST['email']; $senha = $_POST['senha'];   // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); }   $sql = 'INSERT INTO usuarios VALUES (default,'$email','$senha')';   if ($conn->query($sql) === TRUE) {   echo "New record created successfully"; } else {   echo "Error: " . $sql . "<br>" . $conn->error; }   $conn->close(); ?>
    • By Camilavip
      Boa noite, alguém por acaso sabe um modo simples de se desativar um cadastro automaticamente após um período?
      Deixa eu explicar. Eu cadastro um cliente, em que na tabela do banco de dados tem o campo "ativo" onde 1 é ativado e 0 é desativado. Então eu queria cadastrar esse cliente e o ativar, mas que no período de 30 dias por exemplo ele se desativasse sozinho.  Alguém sa8e algo simples nesse sentido?
    • By Camilavip
      Boa noite a todos, estou tendo um probleminha em gravar a senha criptografada, na verdade editar, pois quando gravo vai certo, mas na edição não está dando certo.
      A baixo quando cadastro o cliente é assim, e está indo perfeito.
       
      $nome = $_POST['nome']; $email = $_POST['email']; $login = $_POST['login']; $senha = sha1($_POST['senha']); Mas na hora da edição como está um pouco diferente estou tentando colocar esse sha1 em todo lugar e não está dando
      nome='$_POST[nome]', email='$_POST[email]', login='$_POST[login]', senha='$_POST[senha]', Então no de cima no cadastro está ok, mas na edição não sei mais aonde coloco esse sha1 para dar certo ou é burrice minha mesmo,
    • By daviassumpcao
      Estou buscando uma orientação ou referência para desenvolver algo similar ao formulário dessa página do iPhone https://www.apple.com/shop/buy-iphone/iphone-se ... quando selecionamos alguma opção, a div que contém o formulário centralizar na página e rola feito um carrossel. Estou completamente perdido com essa demanda que recebi... agradeço antecipadamente a todos que derem uma força. Abraço
    • By eiwes
      Fiz uma iteração foreach para gerar categorias e subcategorias, pois não queria fazer DOIS SELECTS, ficando assim:
       
      //----> Foreach para gerar a categoria, pois são vários items com as mesmas chaves, portanto agrupo foreach($exibeLista as $row){ $dlD[$row["nameD"]][] = [ "nameD"=>$row["nameD"], "idD"=>$row["idD"], "qtdR"=>$row["qtdR"], "qtdF"=>$row["qtdF"] ]; } //----> Foreach para gerar subcategorias foreach($exibeLista as $row){ $dLA[$row["nameP"]][] = [ "nameD"=>$row["nameD"], "idD"=>$row["idD"], "idAss"=>$row["idAss"], "idT"=>$row["idT"], "nameP"=>$row["nameP"], "qtdR"=>$row["qtdR"], "qtdF"=>$row["qtdF"] ]; } $fsHTML = []; $rateD = 0; $qtdAss = 0; if(is_array($dlD) || is_object($dlD)){ foreach ($dlD as $key => $ds) { if ($key <> '' && $key <> NULL) { $rateD += (($ds[0]["qtdR"]*100)/$ds[0]["qtdF"]); $qtdAss += count($dlD[$key]); //----> Array para inserir HTML da Categoria criada e criar accordion $fsHTML[] = ' <div class="col-md-12 col-sm-12 col-xs-12"> <div class="x_panel overflow_hidden padding-into-row-qsts bg-white-row filtro-on"> <span class="rateD">'.ceil($rateD/$qtdAss).'%</span> <span class="opcao-into-top">'.$ds[0]["idD"].' - '.$ds[0]["nameD"].' <a class="collapse-link open-filter-qsts border-radius8"><i class="fa fa-chevron-up"></i></a></span> <div class="x_content" style="display:none;padding-top:10px"> <div class="accordion" id="accordion" role="tablist" aria-multiselectable="true"> '; //----> Verificar se a subcategoria contém a categoria, se contém é incluída na array foreach ($dLA as $keys => $ass) { if($ass[0]["idD"] == $ds[0]["idD"] ){ if($ass[0]['idT'] <> 0){ $link = 't='.$ass[0]['idT']; }else{ $link = 'a='.$ass[0]['idAss'];} $fsHTML[] = ' <div class="panel"> <a class="panel-heading collapsed" href="/v/fs/st?mz=y&type=c&'.$link.'"> <span class="eficiencia-accordion">'.ceil(($ass[0]['qtdR']*100)/$ass[0]['qtdF']).'%</span> <h4 class="panel-title">'.$ass[0]['nameP'].'</h4> <span class="unicamente">'.$ass[0]['qtdR'].' respondido de '.$ass[0]['qtdF'].'</span> </a> </div> '; }//if ass }//foreach ass }//if ds //----> Aqui é aonde ocorre o ERRO! Era pra fazer o fechamento do Accordion e gerar uma nova DIV. //No índice [0] isso ocorre normalmente, porém no [1] ela agrupa todos os accordions. (abaixo farei a amostra) $fsHTML[] = '</div></div></div></div>'; }//foreach ds }//if verifica se é array e se é objeto return implode('', array_unique($fsHTML)); O correto seria assim:
       
      - Categoria
        - Subcategoria
        - Subcategoria
       
      - Categoria
       - Subcategoria
       - Subcategoria
       
       
      Como está acontecendo:
       
      - Categoria
        - Subcategoria
        - Subcategoria
       
      - Categoria
        - Subcategoria
        - Subcategoria
          - Categoria
            - Subcategoria
            - Subcategoria
              - Categoria
                - Subcategoria
                - Subcategoria
                  - Categoria
                    - Subcategoria
                    - Subcategoria
       
       
      Não consigo entender de jeito nenhum pq o primeiro fecha corretamente e a partir do segundo não.
      Alguém me ajuda?
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.