Ir ao conteúdo
  • Cadastre-se

PHP Dificuldade numa codigo php e mysql


Posts recomendados

boa noite.

Tenho um problema com esse código. eu tenho que usa o if para fazer com que  caso o usuário coloque a datainicio e datafim.

<!DOCTYPE html>
<html>
<head>
<style>
table {
  width: 100%;
  border-collapse: collapse;
}

table, td, th {
  border: 1px solid black;
  padding: 5px;
}

</style>
</head>
<body>
<form>
 <input type="button" value="Voltar!" onclick="history.back()">
 <input type="button" value="Imprimir" onclick="window.print()">
</form>
<?php

include 'conect.php';


$data1 = $_POST["datainicio"];
$dataf1= $_POST["datafim"];
$tel= $_POST["telefone"];
$todos= $_POST["todos"];


$data = explode("/",$data1);
$dataf = explode("/",$dataf1);

$di = $data[2] . "-" .$data[1] . "-" .$data[0] ;
$df = $dataf[2] . "-" .$dataf[1] . "-" .$dataf[0] ;


$sql="SELECT * FROM asteriskcdrdb.cdr 
where calldate > '". $di ."' and calldate < '". $df ."'
and dst = $tel
and lastapp = 'Dial'
and length(dst) > 4
";

$result = mysqli_query($con,$sql);

$num_rows = mysqli_num_rows($result);

echo "<font size=3 face='Arial'><b>Total de registros  = $num_rows | \n </b></font>";
echo "<table>

<tr>
<th>Data</th>
<th>Origem</th>
<th>Numero</th>
<th>Duração</th>
<th>Conversação</th>
<th>Status</th>

</tr>";


while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td><font size=2 face='Arial'>" . $row['calldate'] . "</font></td>";
  echo "<td><font size=2 face='Arial'>" . $row['src'] . "</font></td>";
  echo "<td><font size=2 face='Arial'>" . $row['dst'] . "</font></td>";
  echo "<td><font size=2 face='Arial'>" . $row['duration'] . "</font></td>";
  echo "<td><font size=2 face='Arial'>" . $row['billsec'] . "</font></td>";
  echo "<td><font size=2 face='Arial'>" . $row['disposition'] . "</font></td>";
   echo "</tr>";

}
echo "</table>";
mysqli_close($con);
?>
</body>
</html>

mas tem uma checkbox se a checkbox for marcada a pessoa não precisa add o telefone para o relatorio ser mostrado apenas com datainicio e datafim com o checkbox marcado o relatorio ira aparecer com todas as informações. mostrado na foto

 

essa duvida de baixo tem haver com o código mas a linha $row['flag'] não existe no código mostrado

 

e outro problema e usa o if para pega os dados do mysql. Que ao imprimir o dado na tela ele aparece como 1 e 0 mas como fazer fara que ele fique assim 1 = sim e 0 = não. esses dados ficam no $row['flag'] e sempre que o mysql busca esses dados eles aparecem como 1 e 0 como uso o if para transforma esse 1 e 0 em sim e não

 

bluecall img.png

Link para o comentário
Compartilhar em outros sites

  • Moderador
3 horas atrás, Helvecio Junior disse:

e outro problema e usa o if para pega os dados do mysql. Que ao imprimir o dado na tela ele aparece como 1 e 0 mas como fazer fara que ele fique assim 1 = sim e 0 = não. esses dados ficam no $row['flag'] e sempre que o mysql busca esses dados eles aparecem como 1 e 0 como uso o if para transforma esse 1 e 0 em sim e não

@Helvecio Junior Isso tem diversas formas de resolver.

Por exemplo, você pode criar uma tabela no banco de dados, onde você vai fazer a relação com a tabela 1 :N.

Exemplo:

tabela relatorio

ID  id_status data        relatorio
1      1      2021-07-27  xxxxxxxxxxxxxx 
2      2      2021-07-28  xxxxxxxxxxxxxxx

 

tabela status

ID status
1   sim 
2   não

 

Na tabela relatório, você cria um índice, para o campo id_status, para que ele seja uma chave estrangeira.

Então na hora da consulta você pode buscar desta forma:

SELECT status.status, 
       relatorio.data, 
       relatorio.relatorio 
       FROM relatorio
INNER JOIN status ON status.ID = relatorio.id_relatorio       

 

Desta forma ao fazer a consulta no php, vai retornar o campo com a parte escrita sim ou não.

 

Outra forma de resolver é fazer a consulta no php. pegar o resultado e colocar em uma condicional.

exemplo:

 

include 'conexao.php';

$sql = mysqli_query($conexao, "SELECT status FROM relatorio;

while($dados = mysqli_fetch_object($sql):
   $status = (dados->status == 0) :"não" ? "sim";

    echo $status;
endwhile;

 

  Nesse caso, provavelmente o campo é do tipo TINYINT  onde é sempre zero ou um.

No if, ele vai colocar em uma variável o teste onde ele testa se o valor é zero ou 1. 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Curso de Hacker Ético

LANÇAMENTO!

CLIQUE AQUI E CONFIRA!

* Este curso não é ministrado pela equipe do Clube do Hardware.