Jump to content
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.

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 mm_edilson
      Boa tarde, amigos. Poderiam me dar uma ajuda? Não estou conseguindo gravar no banco de dados. O site sempre retorna "não foi possível cadastrar esse usuário".
       
      A estrutura da minha tabela "usuários" é ID, nome, email, usuario, senha, permissao, status. O meu form é:
       
      <!DOCTYPE html> <html> <head> <title> Cadastro de Pessoas</title> <meta charset="utf-8" /> <style type="text/css"> * { margin: 0; padding: 0; vertical-align: baseline; } body { width: 100%; background-color: black; } .cabecalho{ width: center; height: 15vh; background: black; display: flex; flex-direction: row; justify-content: center; align-items: center; font-family: Arial; font-size: 15pt; font-weight: bold; color: white; } .corpo{width: 100vw; height: 100vh; background: #6C7A89; display: flex; flex-direction: row; justify-content: center; align-items: center; font-family: Arial; font-size: 15pt; font-weight: bold; } .labels{ display: block; left: 0; width: auto; font-family: Arial; font-size: 15pt; font-weight: bold; } .campos{ display: block; left: 0; width: auto; font-family: Arial; font-size: 15pt; font-weight: bold; } p { margin: 5px; font-family: Arial; font-size: 15pt; font-weight: bold; color: white; text-align: right; } </style> </head> <body> <div class="cabecalho"><center><H3>IGREJA BATISTA NOVA ALIANÇA - CADASTRO DE USUÁRIO<BR>Preencha todos os campos e clique em "Cadastrar"</H3></center></div> <div class="corpo"> <div class="labels"> <p>Nome completo:<br><br>Endereço de Email:<br><br>Nome de Usuário:<br><br>Senha:<br><br>Confirme a Senha:<br><br><br></p> </div> <div class="campos"> <p><form method="POST" action="cadastro.php"> <input type="text" size="41px" name="nome"> <br><br> <input type="text" size="41px" name="email"><br><br> <input type="text" size="21px" name="usuario"><br><br> <input type="password" size="21px" name="senha"><br><br> <input type="password" size="21px" name="confirma_senha"><br><br> <input type="reset" value="Limpar Formulário"> <input type="submit" value="Cadastrar"> </form></p> </div></div> </body> </html>  
      e o meu cadastro.php é
       
      <?php $nome = $_POST['nome']; $email = $_POST['email']; $usuario = $_POST['usuario']; $senha = MD5($_POST['senha']); $permissao = 1; $status = 1; $connect = mysqli_connect('localhost','opbbabac_dados_membros','*************'); $db = mysqli_select_db('opbbabac_dados_membros'); $query_select = "SELECT usuarios FROM opbbabac_dados_membros WHERE usuario = '$usuario'"; $select = mysqli_query($query_select,$connect); $array = mysqli_fetch_array($select); $logarray = $array['usuario']; if($usuario == "" || $usuario == null){ echo"<script language='javascript' type='text/javascript'>alert('O campo usuário deve ser preenchido');window.location.href='cadastro.html';</script>"; }else{ if($logarray == $usuario){ echo"<script language='javascript' type='text/javascript'>alert('Esse usuário já existe');window.location.href='cadastro.html';</script>"; die(); }else{ $query = "INSERT INTO usuarios (nome,email,usuario,senha,permissao,status) VALUES ('$nome','$email','$usuario','$senha','$permissao','$status')"; $insert = mysqli_query($query,$connect); if($insert){ echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='login.html'</script>"; }else{ echo"<script language='javascript' type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>"; } } } ?>  
      Alguém consegue visualizar onde está o erro? Obrigado, e abraços a todos.
       
       
    • By Alberto Nascimento
      Tenho um formulário de Upload e preciso salvar o "valor" gerado e exibido através do "echo" :
       
      echo "<img src=\"" . $destino . "\" />";  
      Como faço para salvar no campo "novonome" da tabela?
    • By rogerblower
      o Google me avisou de dois erros no meu site;
       
      Clickable elements too close together
      Text too small to read
       
      Na verificação constatei que o erro é;
       
      Fatal error:  Call to undefined function db_connect() in
       
      O php não me mostra esse erro mesmo habilitando os erros no php ini os arquivos de conexão que estou usando são;
       
      ini.php
      <?php define('DB_HOST', 'localhost'); define('DB_USER', 'user'); define('DB_PASS', 'senha'); define('DB_NAME', 'banco'); ini_set('display_errors', true); error_reporting(E_ALL); require_once 'functions.php'; functions.php
       
      <?php function db_connect() { $pdo = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8', DB_USER, DB_PASS); return $pdo; } function make_hash($str) { return sha1(md5($str)); } function isLoggedIn() { if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in']!== true) { return false; } return true; } O erro esta nesta linha
      <?php $pdo = db_connect(); $sql = $pdo->prepare("SELECT * FROM servicos "); $sql->execute(); while($row=$sql->fetch(PDO::FETCH_ASSOC)){ echo'<a href="servicos.php?id='.$row['id'].'">'.$row['servico'].'</a>'; } Incluo a conexão com banco na header.php e nas demais páginas não aparece o erro
      realmente não sei o que pode estar acontecendo.
      se alguém pode me ajudar?
       
      Obrigado
       
×

Important Information

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