Ir para conteúdo

Arquivado

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

PierreMoraes

Ajuda com retorno de valores em uma tabela sql php

Recommended Posts

Olá a todos sou novo no grupo porem ja peguei muita solução aqui no forum.

Gostaria da ajude devocês pois estou com uma dificuldade em meu site. Tenho um painel ADMININSTRATIVO em meu site e tenho aceso a visão de algumas coisas dos usuarios como quantidade de logins, nivel de acesso, nome, sobrenome, email e outras coisas refetente ao conteúdo do site.

Ai vem minha dúvida preciso pegar o IP dos usuarios no meu banco de dados e sim ja tenho essa função, porem ele fica misturado com de todos outros, montei o mesmo para visualização dos ultimos 8 aceessos com data assim:

 

 <tbody>
   <?php
   $qnt_result_pg = 8;
   $stmtt=$bdd->prepare("SELECT * FROM vanguard_singin WHERE name_user=? ORDER BY id desc LIMIT $qnt_result_pg");
   $stmtt->execute(array($_SESSION['vg_usern']));
   while($rowip=$stmtt->fetch(PDO::FETCH_ASSOC))
   {
   ?>
   <tr>

     <td><?php echo $rowip['ip']; ?></td>
     <?php
     $source = $rowip['dt_log'];
     $date = new DateTime($source);
     ?>
     <td><?php echo $date->format('d/m/Y   G:y'); ?></td>
   </tr>
   <?php } ?>
</tbody>

e funciona perfeito porem preciso implementar essa função no meu painel, lembrando que esse código acima ele serve apenas para o proprio usuario visualizar.

 

ESSE É DO PAINEL

<tbody>

                                    
  <?php

  $query = "SELECT * FROM vanguard_users";
  $stmt = $bdd->prepare( $query );
  $stmt->execute();
  while($row_usuario=$stmt->fetch(PDO::FETCH_ASSOC))
  {
    $result_items2 = $bdd->query('SELECT count(1) FROM vanguard_items WHERE author="' .$row_usuario['usern']. '"');
    $row_items2 = $result_items2->fetch();
    $total_items2 = $row_items2[0];

    $result_follow = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_following = {$row_usuario['id']}");
    $row_follow = $result_follow->fetch();
    $total_follow = $row_follow[0];


    $result_follower = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_follower = {$row_usuario['id']}");
    $row_follower = $result_follower->fetch();
    $total_follower = $row_follower[0];


    extract($row_usuario);

    $name_user = $row_usuario['usern'];
    $result_ip = $bdd->prepare('SELECT COUNT(ip) FROM vanguard_singin WHERE name_user = "' .$row_usuario['usern']. '"');
    $result_ip->execute(array($name_user));
    $result_ip = $result_ip->fetchColumn();
  ?>  


  <tr class="odd gradeX">

    <td width="1%" class="f-s-600 text-white-transparent-8">

      <?php echo $row_usuario['id']; ?>                                            
    </td><!-- ID -->

    <td width="1%" class="with-img">

      <img src="<?= $url; ?>static/img/avatars/<?php echo $row_usuario['avatar']; ?>" class="img-rounded height-30" />
    </td><!-- PHOTO -->

    <td>

      <?php echo $row_usuario['usern']; ?>                                            
    </td><!-- USERNAME -->

    <td>

      <?php echo $row_usuario['lname']; ?>                                            
    </td><!-- NOME -->

    <td>

      <?php echo $row_usuario['fname']; ?>                                            
    </td><!-- SOBRENOME -->

    <td>
      <?php 
    if ($row_usuario['role'] == "1") 
    { 
      echo '<h5 class="text1">'.$lang['CLASS_01'].'<h5>';
    }
    elseif ($row_usuario['role'] == "2") 
    { 
      echo '<h5 class="text2">'.$lang['CLASS_02'].'<h5>';
    }
    elseif ($row_usuario['role'] == "3") 
    { 
      echo '<h5 class="text3">'.$lang['CLASS_03'].'<h5>';
    }
    elseif ($row_usuario['role'] == "4") 
    { 
      echo '<h5 class="text4">'.$lang['CLASS_04'].'<h5>';
    }
    elseif ($row_usuario['role'] == "5") 
    { 
      echo '<h5 class="text5">'.$lang['CLASS_05'].'<h5>';
    }
    elseif ($row_usuario['role'] == "6") 
    { 
      echo '<h5 class="text6">'.$lang['CLASS_06'].'<h5>';
    }
    elseif ($row_usuario['role'] == "7") 
    { 
      echo '<h5 class="text7">'.$lang['CLASS_07'].'<h5>';
    }
    else
    { 
      echo '<h5 class="">'.$lang['CLASS_00'].'<h5>';
    }; ?>                                                
    </td><!-- NIVEL DE ACESSO -->

    <td>

      <?php echo $row_usuario['created']; ?>                                            
    </td><!-- DATA DE CRIAÇÃO -->

    <td>

      <?php echo $row_usuario['email']; ?>                                            
    </td><!-- EMAIL -->

    <td>

      <?php echo $row_usuario['quotas']; ?>                                            
    </td><!-- QUOTA DE POSTS -->

    <td>

      <?php echo $row_ip['ip']; ?>
    </td><!-- IP -->

    <td>

      <?php if ($total_items2 == 0) { ?>0<?php } ?><?php if ($total_items2 > 0) { ?><?php echo $total_items2; ?><?php } ?>
    </td><!-- ITENS POSTADOS NA PAGINA DOWNS -->

    <td>

      <?php echo $total_follower; ?>
    </td><!-- SEGUINDO -->

    <td>

      <?php echo $total_follow; ?>
    </td><!-- SEGUIDOR -->

    <td>

      <?php echo $result_ip; ?>
    </td><!-- LOGINS TOTAL -->

    <td class="with-btn" nowrap>
      <a href="<?= $url; ?>edit_usuario/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-primary width-60 m-r-2">Editar</a>

      <?php if ($row_usuario['status'] == "2") { ?>

      <a href="<?= $url; ?>edit_ban/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-warning">DesBanir</a>

      <?php }else{ ?>

      <a href="<?= $url; ?>edit_ban/<?php echo $row_usuario['id']; ?>" class="btn btn-sm btn-danger">Banir</a>

      <?php } ?>
    </td><!-- OPÇÕES DE EDITAR E BANIR -->
  </tr>
  <?php } ?> 
</tbody>

Só deixar claro aqui sei que ninguém aqui é leigo mais para adiantar e talvez não haver confusão:

 

Esse inicio de código seria o que chama a tabela dos usuários e seus dados: 

 $query = "SELECT * FROM vanguard_users";
                                        $stmt = $bdd->prepare( $query );
                                        $stmt->execute();
                                        while($row_usuario=$stmt->fetch(PDO::FETCH_ASSOC))
                                        {

 

Essa segunda parte é uma segunda tabela onde chama algumas informações referente á um serviço do site:

$result_items2 = $bdd->query('SELECT count(1) FROM vanguard_items WHERE author="' .$row_usuario['usern']. '"');
                                            $row_items2 = $result_items2->fetch();
                                            $total_items2 = $row_items2[0];

 

Essa terceira parte chama outra tabela e informa outros dados referente ao perfil do usuario:

$result_follow = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_following = {$row_usuario['id']}");
                                            $row_follow = $result_follow->fetch();
                                            $total_follow = $row_follow[0];

 

$result_follower = $bdd->query("SELECT count(1) FROM vanguard_follow WHERE id_follower = {$row_usuario['id']}");
                                            $row_follower = $result_follower->fetch();
                                            $total_follower = $row_follower[0];

 

 

Essa quarta parte chama a quantidade de logins do usuario :

Obs que esse é a mesma TABELA que preciso acessar para ver o IP do usuário porem ele só contabiliza os IP do mesmo usuário e soma assim dando a quantidade de logins no site.

 

extract($row_usuario);
                                            
                                            $name_user = $row_usuario['usern'];
                                            $result_ip = $bdd->prepare('SELECT COUNT(ip) FROM vanguard_singin WHERE name_user = "' .$row_usuario['usern']. '"');
                                            $result_ip->execute(array($name_user));
                                            $result_ip = $result_ip->fetchColumn();

 

Preciso dessa mesma tabela visualizar os ultimos logins e me informar o IP como mostro no inicio da publicação.

Quem puder ajudar agradeço muitissímo.

Abraço a todos e um ótimo final de semana.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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