Ir para conteúdo

POWERED BY:

Arquivado

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

rafaeles17

Log PHP

Recommended Posts

Gostaria de saber se é possivel e caso fosse alguma ajuda em como fazer um log que gere no DB um registro com a data e o ID que foi feito o debito e que eu possa consultar depois informando o ID todos os debitos que teve até o dia da consulta.

Segue o código do debito.

 

 

 
<html>
<head>
 
<link rel="stylesheet" type="text/css" href="../estilo.css">
   <meta charset="UTF-8">
   
   
<title>Espaço de Vida Saudável</title>
</head>
  <body>
    <p>
    </p>
    
    <hr>
    <center></center>
    <center> <img src="../imagens/evs_logo.png" alt="" height="100" width="600">
      <hr>
    </center>
<center>
    <?php
$id= isset($_POST['id']);
mysql_connect("localhost", "root", "");
mysql_select_db("card_evs");
 
mysql_query("UPDATE cliente SET saldo = saldo - 1 WHERE id = '$id' AND saldo > 0");
 
if(mysql_affected_rows() < 1) {
echo "<br><br><br><br><font size=6>Não há Crédito Disponível ! </font>";
}
 
mysql_close(); 
?><br><br>
 
 
 
<form method="POST" action="../recarga_card/listar_saldo.php"> 
<input name="recarga" type="submit" id="recarga" value="Recarregar EVS Card" /> </form>
 <? header("Refresh: 5, ../index.php"); ?>
</center>
</body>
</html>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples, a cada debito que for feito. voce inseri um registro em uma tabela "registros_debitos" com a data e o ID que foi feito o debito
não tem segredo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
if(mysql_affected_rows() < 1) {
    echo "<br><br><br><br><font size=6>Não há Crédito Disponível ! </font>";
}else{
    $tabela = "CREATE TABLE IF NOT EXISTS debito_log (
              id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
              data DATE NOT NULL,
              cliente_id int(11) NOT NULL REFERENCES cliente(id)
               )" ;
    $executa = mysql_query($tabela);
    if($executa){
       $data = date('Y-m-d');
       mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", $id)');
       mysql_close();
    }
}

ai depois você pode listar em outra pagina os logs tipo listar_log.php

<?php
  $i = 1; // vamos usar como contador
  $exec = mysql_query('SELECT * FROM debito_log t1, cliente t2 WHERE t1.cliente_id = t2.id AND cliente_id = '.$id.' ORDER BY data ASC');
  while ($result = mysql_fetch_array($exec) ){
  
  //definir cores da tabela para facilitar a visualização
    if ($i % 2 == 0) $cor = '#FFFFFF';
    else $cor = '#F2F2F2'; 
  
   if($i==1){
      print '<table align="center" border = 0 style="border:1px solid #CCC">
             <tr style="Background-color:#CCCCCC" >
               <td>Cliente</td>
               <td>Data do Débito</td>
             </tr>';
     }
      print '<tr style="background-color:'.$cor.'">
                <td>'.$result['coluna_com_o_nome_do_cliente'].'</td>
                <td>'.$result['data'].'</td>
            </tr>';
      $i++;
  }
?>

subsititua coluna_com_o_nome_do_cliente pelo nome da coluna que vai o nome do seu cliente

 

se você quiser os logs de todos os clientes, tire o AND cliente_id = '.$id do select

Compartilhar este post


Link para o post
Compartilhar em outros sites
if(mysql_affected_rows() < 1) {
    echo "<br><br><br><br><font size=6>Não há Crédito Disponível ! </font>";
}else{
    $tabela = "CREATE TABLE IF NOT EXISTS debito_log (
              id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
              data DATE NOT NULL,
              cliente_id int(11) NOT NULL REFERENCES cliente(id)
               )" ;
    $executa = mysql_query($tabela);
    if($executa){
       $data = date('Y-m-d');
       mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", $id)');
       mysql_close();
    }
}

ai depois você pode listar em outra pagina os logs tipo listar_log.php

<?php
  $i = 1; // vamos usar como contador
  $exec = mysql_query('SELECT * FROM debito_log t1, cliente t2 WHERE t1.cliente_id = t2.id AND cliente_id = '.$id.' ORDER BY data ASC');
  while ($result = mysql_fetch_array($exec) ){
  
  //definir cores da tabela para facilitar a visualização
    if ($i % 2 == 0) $cor = '#FFFFFF';
    else $cor = '#F2F2F2'; 
  
   if($i==1){
      print '<table align="center" border = 0 style="border:1px solid #CCC">
             <tr style="Background-color:#CCCCCC" >
               <td>Cliente</td>
               <td>Data do Débito</td>
             </tr>';
     }
      print '<tr style="background-color:'.$cor.'">
                <td>'.$result['coluna_com_o_nome_do_cliente'].'</td>
                <td>'.$result['data'].'</td>
            </tr>';
      $i++;
  }
?>

subsititua coluna_com_o_nome_do_cliente pelo nome da coluna que vai o nome do seu cliente

 

se você quiser os logs de todos os clientes, tire o AND cliente_id = '.$id do select

 

 

Olá Will, ele criou a tabela no db, mas não está gravando os dados lá, a tabela fica vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá Will, ele criou a tabela no db, mas não está gravando os dados lá, a tabela fica vazia.

 

Acho que o $executa ta retornando falso se a tabela já existe, tenta tirar aquele if($executa):

if(mysql_affected_rows() < 1) {
    echo "<br><br><br><br><font size=6>Não há Crédito Disponível ! </font>";
}else{
    $tabela = "CREATE TABLE IF NOT EXISTS debito_log (
              id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
              data DATE NOT NULL,
              cliente_id int(11) NOT NULL REFERENCES cliente(id)
               )" ;
    $executa = mysql_query($tabela);
    $data = date('Y-m-d');
    $incluir = mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", $id)');
    if ($incluir) mysql_close();
    else die(mysql_error() );
    
}

Faz essa alteração e diga-nos se vai dar erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Acho que o $executa ta retornando falso se a tabela já existe, tenta tirar aquele if($executa):

if(mysql_affected_rows() < 1) {
    echo "<br><br><br><br><font size=6>Não há Crédito Disponível ! </font>";
}else{
    $tabela = "CREATE TABLE IF NOT EXISTS debito_log (
              id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
              data DATE NOT NULL,
              cliente_id int(11) NOT NULL REFERENCES cliente(id)
               )" ;
    $executa = mysql_query($tabela);
    $data = date('Y-m-d');
    $incluir = mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", $id)');
    if ($incluir) mysql_close();
    else die(mysql_error() );
    
}

Faz essa alteração e diga-nos se vai dar erro

Olá Will, fazendo a sua modificação e ele retorna a seguinte msg

 

Unknown column '$id' in 'field list'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po cara vc nem verifica a sintaxe do insert....

corrige ai essa linha

$incluir = mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", '.$id.')');

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Po cara você nem verifica a sintaxe do insert....

 

corrige ai essa linha

$incluir = mysql_query('INSERT INTO debito_log (data, cliente_id) values ("'.$data.'", '.$id.')');

Muito obrigado cara, desculpa qualquer coisa ai.

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta tranquilo, mas se vc quer mesmo aprender, tem que "bater com a cabeça" um poquinho rsrsrs ;D precisando conte conosco, fico feliz por ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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