10 - ACESSO A BANCOS DE DADOS

Propaganda
10 - ACESSO A BANCOS DE DADOS
EXEMPLO PRÁTICO
Este tutorial foi preparado especialmente para os usuários que estão começando
seu aprendizado na linguagem PHP e com o Banco de Dados MySQL.
Vamos fazer um cadastro de clientes onde teremos a opção de incluir novos
clientes, alterar os dados dos clientes existentes, excluir e buscar determinado cliente,
bem como gerar relatório de clientes cadastrados na nossa base de dados.
Cadastro de clientes
Área do nosso sistema para a inclusão de novos clientes. Abaixo, segue a
estrutura da nossa tabela.
tb_clientes
- id_cli - Número auto–incremento, vai ser a nossa chave primária (PK)
- inclusao_cli - Data e horário do cadastro do cliente
- nome_cli - Nome completo
- end_cli - Endereço
- bairro_cli - Bairro
- email_cli - Email
- tel_cli - Telefone
- cidade_cli - Cidade
- estado_cli - Código do Estado (FK)
tb_estados - Essa tabela contém os estados do Brasil.
- id_estado - Número auto–incremento, vai ser a nossa chave primária (PK)
- estado - Nome do Estado
- uf - Sigla do Estado
tb_user – Essa tabela contém os usuários que tem permissão para mexer na
área administrativa
- id_user - Número auto–incremento, vai ser a nossa chave primária (PK)
- apelido - apelido do usuário que vai ter acesso ao sistema.
- senha - senha do usuário que vai ter acesso ao sistema.
Criando as tabelas
Se você usa o Windows, aconselho você a baixar um software de gerenciamento de
banco de dados, nesse caso o PHPMyAdmin (http://www.phpmyadmin.net/) que é uma
ótima ferramenta para manipular base de dados MySQL. No WAMPSERVER já existe préinstalado o PHPMyAdmin.
Antes de criarmos as tabelas, devemos criar o nosso Database, para isso digite o
seguinte comando:
CREATE DATABASE projeto;
Como vocês podem observar eu criei um database chamado projeto, abaixo segue
as tabelas que farão parte da nossa base de dados.
tb_clientes - Tabela com os clientes cadastrados no sistema
tb_estados - Tabela com os estados do Brasil
tb_user - Usuários que tem permissão para entrar na área administrativa do sistema.
Crie as tabelas no MySQL, executando os comandos abaixo dentro do database projeto:
CREATE TABLE tb_clientes(
id_cli int auto_increment primary key,
inclusao_cli datetime,
nome_cli varchar(80),
end_cli varchar(80),
bairro_cli varchar(40),
email_cli varchar(90),
tel_cli varchar(25),
cidade_cli varchar(80),
estado_cli int
);
CREATE TABLE tb_estados(
id_estado int auto_increment primary key,
estado varchar(60),
uf char(2));
CREATE TABLE tb_user(
id_user int auto_increment primary key,
apelido varchar(60),
senha varchar(20));
Depois de termos criado as tabelas, vamos “popular” a tabela de estados, ou seja,
vamos cadastrar os estados e um usuário administrador do sistema. Para isso vamos fazer
uso do comando SQL: INSERT INTO.
INSERT INTO `tb_estados` (uf,estado) VALUES('AC', 'Acre');
INSERT INTO `tb_estados` (uf,estado) VALUES('AL', 'Alagoas');
INSERT INTO `tb_estados` (uf,estado) VALUES('AP', 'Amapá');
INSERT INTO `tb_estados` (uf,estado) VALUES('AM', 'Amazonas');
INSERT INTO `tb_estados` (uf,estado) VALUES('BA', 'Bahia');
INSERT INTO `tb_estados` (uf,estado) VALUES('CE', 'Ceará');
INSERT
INTO
`tb_estados`
(uf,estado)
VALUES('DF',
'Distrito
`tb_estados`
(uf,estado)
VALUES('ES',
'Espírito
Federal');
INSERT
INTO
Santo');
INSERT INTO `tb_estados` (uf,estado) VALUES('GO', 'Goiás');
INSERT INTO `tb_estados` (uf,estado) VALUES('MA', 'Maranhão');
INSERT INTO `tb_estados` (uf,estado) VALUES('MT', 'Mato Grosso');
INSERT INTO `tb_estados` (uf,estado) VALUES('MS', 'Mato Grosso do
Sul');
INSERT INTO `tb_estados` (uf,estado) VALUES('MG', 'Minas Gerais');
INSERT INTO `tb_estados` (uf,estado) VALUES('PA', 'Pará');
INSERT INTO `tb_estados` (uf,estado) VALUES('PB', 'Paraíba');
INSERT INTO `tb_estados` (uf,estado) VALUES('PR', 'Paraná');
INSERT INTO `tb_estados` (uf,estado) VALUES('PE', 'Pernambuco');
INSERT INTO `tb_estados` (uf,estado) VALUES('PI', 'Piauí');
INSERT INTO `tb_estados` (uf,estado) VALUES('RN', 'Rio Grande do
Norte');
INSERT INTO `tb_estados` (uf,estado) VALUES('RS', 'Rio Grande do
Sul');
INSERT
INTO
`tb_estados`
(uf,estado)
VALUES('RJ',
'Rio
de
Janeiro');
INSERT INTO `tb_estados` (uf,estado) VALUES('RO', 'Rondônia');
INSERT INTO `tb_estados` (uf,estado) VALUES('RR', 'Roraima');
INSERT
INTO
`tb_estados`
(uf,estado)
VALUES('SC',
'Santa
Catarina');
INSERT INTO `tb_estados` (uf,estado) VALUES('SP', 'São Paulo');
INSERT INTO `tb_estados` (uf,estado) VALUES('SE', 'Sergipe');
INSERT INTO `tb_estados` (uf,estado) VALUES('TO', 'Tocantins');
INSERT INTO `tb_user` (`id_user`, `apelido`, `senha`) VALUES
(1, 'universo', 'php');
Antes de começarmos a criar nossos arquivos, vamos criar um diretório chamado
projeto2016 dentro de c:/wamp/www/dw3. Salve todos os seus arquivos dentro deste
diretório (c:/wamp/www/dw3/projeto2016). Agora, antes de construirmos o
formulário de cadastro de clientes, vamos criar o arquivo que vai estabelecer a conexão
com a nossa base de dados.
Arquivo: conecta.php
<?php
$dbname="projeto";
$usuario="root";
$password="";
//1º passo - Conecta ao servidor MySQL
if(!($id = mysql_connect("localhost",$usuario,$password))) {
echo
"<p
align=\"center\"><big><strong>Não
foi
possível
estabelecer uma conexão com o gerenciador MySQL. Favor contatar o
Administrador.
</strong></big></p>";
exit;
}
//2º passo - Seleciona o Banco de Dados
if(!($con=mysql_select_db($dbname,$id))) {
echo
"
<p
align=\"center\"><big><strong>Não
foi
possível
estabelecer uma conexão com o Banco de Dados informado. Favor
contatar o Administrador.
</strong></big></p>";
exit;
}
?>
A conexão com o MySQL acima mostrada, é para quem está trabalhando
localmente na máquina (localhost).
mysql_connect - Abre uma conexão com o banco de dados MySQL
No nosso código acima, caso ele não consiga estabelecer uma conexão com o
servidor MySQL ele exibe a mensagem: “Não foi possível estabelecer uma conexão com o
gerenciador MySQL. Favor contatar o Administrador”.
mysql_select_db - Seleciona um Banco de Dados MySQL.
Funciona da mesma maneira, caso ocorra algum erro na hora de selecionar a base
de dados (projeto), ele emitirá uma mensagem de erro: “Não foi possível estabelecer uma
conexão com o Banco de Dados informado. Favor contatar o Administrador.”.
Área Administrativa
É a área responsável por fazer o controle dos clientes cadastrados, ou seja, nela
vamos poder incluir, alterar, excluir e buscar qualquer cliente que esteja cadastro em
nossa base de dados.
Vamos fazer uso das sessões em PHP nessa área (método para gerenciamento de
usuários que está disponível a partir da versão 4 do PHP), pois precisamos restringir o
acesso a essa área apenas para pessoas que tenham permissão.
Página inicial (index.php)
Essa é a página inicial do nosso sistema. É aonde vamos ter que digitar o apelido e
a senha para o acesso à área administrativa.
Código fonte:
<?php
include "conecta.php"; //Arquivo que conecta com o MySQL
//INICIALIZA A SESSÃO
session_start();
//DESTRÓI AS VARIÁVEIS
unset($_SESSION[id_projeto]);
unset($_SESSION[apelido_projeto]);
unset($_SESSION[senha_projeto]);
//DESTRÓI TODOS OS DADOS INICIALIZADOS NA SESSÃO
session_destroy();
//RECEBE OS DADOS DO FORMULÁRIO
$apelido_login = $_POST[apelido_login];
$senha_login
= $_POST[senha_login];
if(($apelido_login)
AND
($senha_login))
{
//Ele
entra
nessa
condição se as duas variáveis não estiverem vazias
$sql
=
mysql_query("SELECT
apelido='$apelido_login'
AND
*
FROM
tb_user
senha='$senha_login'")
no comando SQL :".mysql_error());
or
WHERE
die("ERRO
if(mysql_num_rows($sql) > 0) {
$id_projeto = mysql_result($sql,0,"id_user");
$apelido_projeto = mysql_result($sql,0,"apelido");
$senha_projeto = mysql_result($sql,0,"senha");
//INICIALIZA A SESSÃO
session_start();
//GRAVA AS VARIÁVEIS NA SESSÃO
$_SESSION[id_projeto]
= $id_projeto;
$_SESSION[apelido_projeto]
= $apelido_projeto;
$_SESSION[senha_projeto]
= $senha_projeto;
header("Location:opcoes.php");
//Redireciona
para
a
página
de
opções
}
else{
echo "<font color=\"#FF0000\"><b>Apelido ou Senha incorretos.
Tente novamente!</b>";
}
}
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<form
name="frm_login"
method="post"
action="<?php
echo
basename($_SERVER['PHP_SELF']); ?>">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td
colspan="2"
align="center"><b><font
size="3">IDENTIFICAÇÃO</font></b></td>
</tr>
<tr>
face="Arial"
<td
width="33%"
height="25"><font
face="Arial"
height="25"><font
face="Arial"
size="2">Apelido:</font></td>
<td
width="67%"
size="2"><input type="text" name="apelido_login"></font></td>
</tr>
<tr>
<td
width="33%"
height="25"><font
face="Arial"
height="25"><font
face="Arial"
size="2">Senha:</font></td>
<td
width="67%"
size="2"><input type="password" name="senha_login"></font></td>
</tr>
<tr>
<td
colspan="2"><input
type="submit"
name="entrar"
value="Entrar >>"></td>
</tr>
</table>
</form>
</center>
<script>document.frm_login.apelido_login.focus()</script>
</body>
</html>
Essa página vai mostrar um formulário com dois campos: um de apelido e outro
de senha. No action do form temos <?php echo basename($_SERVER['PHP_SELF']); ?>,
isso quer dizer que os dados serão enviados para a mesma página.
Note que no começo do código temos um if(($apelido_login) AND ($senha_login)).
Depois que digitamos o apelido e a senha e clicamos no botão Entrar >>, vamos cair
nessa condição que vai verificar se o usuário e a senha foram digitados. Em seguida é
verificado se estes dados existem em nosso banco de dados. Caso exista é criada uma
sessão e nela são registradas 3 variáveis, sendo o id, o apelido e a senha do usuário. Em
seguida através do comando header(“Location:opcoes.php”) somos redirecionados para a
página de opções.
Atenção: Vale lembrar, que depois da página index.php, todas as outras são de uso
restrito. Portanto, precisamos criar um arquivo que vai verificar se o usuário está ativo na
sessão ou não. Vamos ver seu código fonte:
Código fonte: ver_sessao.php
<?php
//INICIALIZA A SESSÃO
session_start();
//SE NÃO TIVER VARIÁVEIS REGISTRADAS
//RETORNA PARA A TELA DE LOGIN
if(
(!isset($_SESSION[id_projeto]))
(!isset($_SESSION[apelido_pojeto]))
AND
AND
(!isset($_SESSION[senha_pojeto])) )
Header("Location: index.php");
?>
Inicializamos a sessão através do session_start(), e verificamos se as variáveis
estão registradas na sessão através do comando if acima (verifica se as variáveis estão
“setadas”). Caso elas não estejam, é automaticamente redirecionado para a página
index.php
Atenção: Precisamos colocar uma require com esse arquivo em todas as páginas que são
de uso restrito (require("ver_sessao.php");).
Página com as opções (opcoes.php)
Se o apelido e a senha forem digitados corretamente iremos ser redirecionados
para a página opcoes.php que é apenas uma página HTML simples, onde iremos
escolher uma das opções fornecidas.
As opções são:
- Cadastrar clientes
- Gerenciar clientes
- Pesquisar clientes
Na primeira opção, temos a oportunidade de cadastrar um novo cliente no sistema.
Na segunda opção, temos uma listagem dos clientes cadastrados, com as opções para se
fazer uma busca, alterar os dados ou excluir determinado cliente. Na terceira opção,
poderemos montar um relatório com os clientes de acordo com as opções de pesquisa.
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body>
<table width="60%" border="0" cellspacing="0" cellpadding="0"
align="center">
<tr>
<td height="60"><div align="center"><font face="Arial"
size="4"><b>Menu Principal</b></font></div></td>
</tr>
</table>
<br />
<p align="center">
<font face=Arial size=2>
- <a href="cadclientes.php?acao=entrar">Cadastrar Clientes</a><br
/><br />
- <a href="gerclientes.php">Gerenciar Clientes</a><br /><br />
- <a href="pesqclientes_a.php">Pesquisar Clientes</a><br />
</font>
</p>
</body>
</html>
Cadastro de Clientes (cadclientes.php)
A principal função desse arquivo é cadastrar um novo cliente ao sistema.
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
require("conecta.php"); //Conecta com a nosso banco de dados MySQL
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br />
<table width="60%" border="0" cellspacing="0"
cellpadding="0" align="center">
<tr>
<td height="60">
<div align="center"><font face="Arial"
size="4"><b>Cadastro de Clientes</b></font></div></td>
</tr>
</table>
<br />
<?php
//RECEBE OS DADOS DA URL
$acao = $_GET[acao];
if($acao
==
'cadastrar')
{
/*Cadastra
formulário for enviado */
//RECEBE OS DADOS DO FORMULÁRIO
$nome_cli
= $_POST[nome_cli];
$end_cli
= $_POST[end_cli];
$bairro_cli
= $_POST[bairro_cli];
$email_cli
= $_POST[email_cli];
$tel_cli
= $_POST[tel_cli];
o
cliente
depois
que
o
$cidade_cli
= $_POST[cidade_cli];
$estado_cli
= $_POST[estado_cli];
//Verifica os dados enviados
if($nome_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Nome";
}
if($end_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Endereço";
}
if($bairro_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Bairro";
}
if($email_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Email";
}
if($tel_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Telefone";
}
if($cidade_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Cidade";
}
if($estado_cli == 0) {
$erros++;
$html_erros = $html_erros."<br />Estado";
}
if($erros == 0) { //Se não tiver nenhum erro, faz a inclusão
$sql
=
mysql_query("INSERT
INTO
tb_clientes(inclusao_cli,nome_cli,end_cli,bairro_cli,email_cli,
tel_cli,cidade_cli,estado_cli)
VALUES(now(),'$nome_cli','$end_cli','$bairro_cli',
'$email_cli','$tel_cli','$cidade_cli','$estado_cli')")
or die("Erro no comando SQL:".mysql_error());
echo "<div align=center><font face=Arial size=2>Cliente cadastrado
com Sucesso!!</font></div><br /><br />";
} //fecha $erros == 0
else {
echo "<div align=center><font face=Arial
size=2><b> ATENÇÃO </b><br /><br />Foram encontrados
<b>$erros</b>
erro(s) no cadastro do
cliente:<br /><b>$html_erros</b>
<br /><br /><a href='javascript:history.go(-1)'><<
Voltar</a></font></div><br /><br />";
}//fecha else
} /*fecha acao= cadastrar*/ ?>
<?php
if($acao
==
'entrar')
{
/*Mostra
o
formulário
de
cadastro
de
clientes */
$sql_estados
=
mysql_query("SELECT
*
FROM
tb_estados
ORDER
BY
estado")
or die("ERRO no comando SQL:".mysql_error());
?>
<form
name="frm_clientes"
method="post"
action="<?php
echo
basename($_SERVER['PHP_SELF']); ?>?acao=cadastrar">
<table
width="500"
border="0"
cellspacing="0"
cellpadding="0"
align="center">
<tr>
<td
width="24%"
height="25"><font
face="Arial"
size="2">Nome:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="nome_cli" size="35"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
size="2">Endereço:</font></td>
face="Arial"
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="end_cli" size="30"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Bairro:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="bairro_cli" size="30"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Email:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="email_cli" size="35"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Telefone:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="tel_cli" size="20"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Cidade:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="cidade_cli" size="35"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Estado:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<select name="estado_cli">
<option value="0"><< Selecione o estado >></option>
<?php while($array = mysql_fetch_array($sql_estados))
{?>
<option value="<?echo
$array['id_estado'];?>"><?echo $array['estado'];?></option>
<?php }?>
</select></font></td>
</tr>
<tr>
<td height="25" colspan="2">
<div align="center">
<input
type="submit"
name="cadastrar"
value="Cadastrar
cliente
>>"></div></td>
</tr>
</table>
</form>
<script>document.frm_clientes.nome_cli.focus()</script>
<?} /*fecha acao=entrar */?>
<div align=center><font face=Arial size=2>
[ <a href='opcoes.php'>Voltar para o menu principal</a> ]</font>
</div>
</body>
</html>
Quando clicamos na opção para cadastrar cliente na página opcoes.php, caímos na
página cadclientes.php?acao=entrar, que nada mais é, que a página que contém o
formulário de cadastro e a rotina para a inclusão dos dados em nossa base de dados.
Como vocês podem observar acima temos uma condição depois do nome do
arquivo: cadclientes.php?acao=entrar. Vá até o código acima e procure uma linha
if($acao==’entrar’). Encontrou? É aí que começa a nossa página. Depois de ter
preenchido todos os dados e clicarmos no botão Cadastrar cliente >> seremos
redirecionados para a mesma página, isso ocorre porque no action do form temos o
comando <?php echo basename($_SERVER['PHP_SELF']); ?>mais ele não vem sozinho,
ele está acompanhado do ?acao=cadastrar, encontramos aqui, mais uma condição.
Vá ao código acima e procure a linha if($acao==’cadastrar’). Como vocês podem
observar, recebemos os dados da url (GET) e do formulário (POST), fazemos uma
verificação dos dados que foram enviados, para ver se nenhum foi enviado em branco,
caso algum dado seja enviado em branco é mostrado uma mensagem de erro e pedimos
para a pessoa retornar ao formulário e complementar os dados que estão faltando.
Observe essa linha:
$sql = mysql_query("INSERT INTO
tb_clientes(inclusao_cli,nome_cli,end_cli,bairro_cli,email_cli,
tel_cli,cidade_cli,estado_cli)
VALUES(now(),'$nome_cli','$end_cli','$bairro_cli',
'$email_cli','$tel_cli','$cidade_cli','$estado_cli')")
or die("Erro no comando SQL:".mysql_error());
mysql_query => Envia uma consulta SQL ao banco de dados MySQL.
E o comando SQL para a inserção de dados em uma determinada tabela é o INSERT
INTO.
Gerenciamento de clientes (gerclientes.php)
Através desse arquivo vamos ter uma listagem de todos os clientes cadastrados no
sistema. Além disso, será possível também fazer uma busca, alteração ou exclusão de
determinado cliente.
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
require("conecta.php"); //Conecta com a nosso banco de dados MySQL
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
//RECEBE OS DADOS DO FORMULÁRIO
$pesquisar = $_POST[pesquisar];
$criterio
= $_POST[criterio];
$sql_cliente = "SELECT id_cli,date_format(inclusao_cli,'%d/%m/%Y %H:%i') as inclusao_cli, nome_cli,cidade_cli,uf FROM
tb_clientes,tb_estados
WHERE
tb_estados.id_estado
=
tb_clientes.estado_cli";
if($pesquisar == 'sim')
$sql_cliente = $sql_cliente." AND nome_cli LIKE \"%$criterio%\"";
$sql_cliente = $sql_cliente." ORDER BY inclusao_cli";
$sql_cliente
=
mysql_query($sql_cliente)
or
die("Erro
no
SQL:
".mysql_error());
?>
<br />
<table
width="60%"
align="center">
<tr>
<td height="60">
border="0"
cellspacing="0"
cellpadding="0"
<div
align="center"><font
face="Arial"
size="4"><b>Gerenciamento
de Clientes</b></font></div></td>
</tr>
</table>
<br />
<form name="frm_pesq" method="post" action="<?echo $PHP_SELF?>">
<table
width="700"
border="0"
cellspacing="1"
cellpadding="0"
align="center">
<tr bgcolor="#6699CC">
<td colspan="2">
<div
align="center"><font
face="Arial"
size="2"><b>Pesquisa</b></font></div></td>
</tr>
<tr bgcolor="ebebeb">
<td width="32%" align="center"><font face="Arial" size="2">Nome a
ser procurado:</font></td>
<td
width="68%">
<font
face="Arial"
size="2"><input
type="text"
name="criterio" size="25">
<input type="submit" name="pesq" value="Pesquisar >>">
<input type="hidden" name="pesquisar" value="sim"></font></td>
</tr>
</table>
</form>
<script>document.frm_pesq.criterio.focus()</script>
<br />
<?if(mysql_num_rows($sql_cliente) > 0) {?>
<table
width="700"
border="0"
cellspacing="1"
cellpadding="0"
align="center">
<tr bgcolor="#6699CC">
<td colspan="5">
<div
align="center"><font
face="Arial"
size="2"><b><font
color="#FFFFFF">Clientes cadastrados</font></b></font></div>
</td>
</tr>
<tr bgcolor="cccccc">
<td width="19%">
<div
align="center"><b><font
face="Arial"
size="2">Data
de
inclusão</font></b></div>
</td>
<td width="33%">
<div
align="center"><b><font
face="Arial"
size="2">Cliente</font></b></div>
</td>
<td width="23%">
<div
align="center"><b><font
face="Arial"
size="2">Cidade/UF</font></b></div>
</td>
<td width="13%">
<div
align="center"><b><font
face="Arial"
size="2">Alterar
</font></b></div>
</td>
<td width="12%">
<div
align="center"><b><font
face="Arial"
size="2">Excluir</font></b></div>
</td>
</tr>
<?php while($array_cliente = mysql_fetch_array($sql_cliente))
{?>
<tr bgcolor="ebebeb">
<td width="19%" height="25"><font face="Arial" size="2">
<?php echo $array_cliente['inclusao_cli'];?> hs
</font></td>
<td width="33%" height="25"><font face="Arial" size="2">
<?php echo $array_cliente['nome_cli'];?>
</font></td>
<td width="23%" height="25"><font face="Arial" size="2">
<?php
echo
$array_cliente['cidade_cli'];?>
/
<?echo
$array_cliente['uf'];?>
</font></td>
<td width="13%" height="25">
<div
align="center"><font
face="Arial"
href='altclientes.php?id_cliente=<?echo
size="2">[
<a
$array_cliente['id_cli'];?>&acao=entrar'>Alterar</a>
]</font></div>
</td>
<td width="12%" height="25">
<div
align="center"><font
face="Arial"
size="2">[
href='excluirclientes.php?id_cliente=<?php
<a
echo
$array_cliente['id_cli'];?>'>Excluir</a> ]</font></div>
</td>
</tr>
<?}?>
</table>
<?}/* fecha mysql_num_rows > 0 */
else{
echo "<br /><br /><div align=center><font face=Arial size=2>
Nenhum registro encontrado!<br /><br /></font></div>";
}?>
<br />
<div align=center><font face=Arial size=2>
[ <a href='opcoes.php'>Voltar para o menu principal</a> ]</font>
</div>
</body>
</html>
Caso o usuário faça uma pesquisa passamos um campo oculto:
<input type="hidden" name="pesquisar" value="sim">
Note, que no SQL não efetuamos direto o mysql_query(), fomos concatenando a
variável que continha o SQL.
<?php
$sql_cliente = "SELECT id_cli,date_format(inclusao_cli,'%d/%m/%Y %H:%i') as inclusao_cli, nome_cli,cidade_cli,uf FROM
tb_clientes,tb_estados
WHERE
tb_estados.id_estado
tb_clientes.estado_cli";
if($pesquisar == 'sim')
$sql_cliente = $sql_cliente." AND nome_cli LIKE \"%$criterio%\"";
$sql_cliente = $sql_cliente." ORDER BY inclusao_cli";
=
$sql_cliente
=
mysql_query($sql_cliente)
or
die("Erro
no
SQL:
".mysql_error());
?>
Para fazer a pesquisa usamos no SQL a opção LIKE. Note, que formatamos a saída da
data usando date_format().
Alteração dos dados do cliente (altclientes.php)
Esse arquivo é bem parecido com o de cadastro de clientes, a única coisa que muda
é que um faz a inserção de um novo cliente e o outro faz a alteração dos dados.
Observação: O cadastro de clientes e o de alteração poderia ter sido fundido em
um arquivo só, em vez de criarmos dois.
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
require("conecta.php"); //Conecta com a nosso banco de dados MySQL
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br />
<table
width="60%"
border="0"
cellspacing="0"
cellpadding="0"
align="center">
<tr>
<td height="60">
<div
align="center"><font
face="Arial"
size="4"><b>Alterar
do Cliente</b></font></div>
</td>
</tr>
</table>
<br />
<?php
//RECEBE OS DADOS DA URL
$acao = $_GET[acao];
$id_cliente = $_GET[id_cliente];
if($acao == 'alterar') { /*Cadastra o cliente depois que o
formulário for enviado */
//RECEBE OS DADOS DO FORMULÁRIO
$nome_cli
= $_POST[nome_cli];
dados
$end_cli
= $_POST[end_cli];
$bairro_cli
= $_POST[bairro_cli];
$email_cli
= $_POST[email_cli];
$tel_cli
= $_POST[tel_cli];
$cidade_cli
= $_POST[cidade_cli];
$estado_cli
= $_POST[estado_cli];
$id_cliente
= $_POST[id_cliente];
//Verifica os dados enviados
if($nome_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Nome";
}
if($end_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Endereço";
}
if($bairro_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Bairro";
}
if($email_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Email";
}
if($tel_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Telefone";
}
if($cidade_cli == '') {
$erros++;
$html_erros = $html_erros."<br />Cidade";
}
if($estado_cli == 0) {
$erros++;
$html_erros = $html_erros."<br />Estado";
}
if($erros == 0) { //Se não tiver nenhum erro, grava os dados na
tabela
$sql
=
mysql_query("UPDATE
tb_clientes
SET
nome_cli='$nome_cli',end_cli='$end_cli',
bairro_cli='$bairro_cli',email_cli='$email_cli',tel_cli='$tel_cli'
,cidade_cli='$cidade_cli',estado_cli='$estado_cli'
WHERE
id_cli='$id_cliente'")
or die("Erro no comando SQL:".mysql_error());
echo "<div align=center><font face=Arial size=2>Dados do cliente
<b>$nome_cli</b> alterados com Sucesso!!<br /><br /><a
href='gerclientes.php'><<
Voltar</a></font></div><br /><br />";
} //fecha $erros == 0
else {
echo "<div align=center><font face=Arial
size=2><b> ATENÇÃO </b><br /><br />Foram encontrados
<b>$erros</b>
erro(s) no cadastro do
cliente:<br /><b>$html_erros</b>
<br /><br /><a href='javascript:history.go(-1)'><<
Voltar</a></font></div><br /><br />";
}//fecha else
} /*fecha acao= alterar*/
?>
<?php
if($acao == 'entrar') { /*Mostra o formulário de alteração
dos dados do cliente */
$sql_cliente
=
mysql_query("SELECT
*
FROM
tb_clientes
WHERE
id_cli='$id_cliente'")
or die("ERRO no comando SQL:".mysql_error());
$array_cliente = mysql_fetch_array($sql_cliente);
$sql_estados
=
mysql_query("SELECT
*
FROM
estado")
or die("ERRO no comando SQL:".mysql_error());
?>
tb_estados
ORDER
BY
<form
name="frm_clientes"
method="post"
action="<?php
echo
$_SERVER[PHP_SELF];?>?acao=alterar">
<table
width="500"
border="0"
cellspacing="0"
cellpadding="0"
align="center">
<tr>
<td
width="24%"
height="25"><font
face="Arial"
size="2">Nome:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input
type="text"
name="nome_cli"
size="35"
value="<?php
echo
$array_cliente['nome_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Endereço:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input
type="text"
name="end_cli"
size="30"
value="<?php
echo
$array_cliente['end_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Bairro:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="bairro_cli" size="30" value="<?php echo
$array_cliente['bairro_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Email:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input
type="text"
name="email_cli"
size="35"
value="<?php
echo
$array_cliente['email_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Telefone:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input
type="text"
name="tel_cli"
size="20"
value="<?php
echo
$array_cliente['tel_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Cidade:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<input type="text" name="cidade_cli" size="35" value="<?php echo
$array_cliente['cidade_cli'];?>"></font></td>
</tr>
<tr>
<td
height="25"
width="24%"><font
face="Arial"
size="2">Estado:</font></td>
<td height="25" width="76%"><font face="Arial" size="2">
<select name="estado_cli">
<option value="0"><< Selecione o estado >></option>
<?php
while($array = mysql_fetch_array($sql_estados)) {
$estado_cliente = $array_cliente['estado_cli'];
$cod_estado = $array['id_estado'];
$estado = $array['estado'];
if($estado_cliente == $cod_estado)
echo "<option value='$estado_cliente' selected>$estado</option>";
else
echo "<option value='$cod_estado'>$estado</option>";
}?>
</select></font></td>
</tr>
<tr>
<td height="25" colspan="2">
<div align="center">
<input
type="submit"
name="alterar"
value="Alterar
dados
>>">
<input
type="hidden"
$array_cliente['id_cli'];?>">
</div></td>
name="id_cliente"
value="<?echo
</tr>
</table>
</form>
<?php
} /*fecha acao=entrar */
?>
<div align=center><font face=Arial size=2>
[ <a href='opcoes.php'>Voltar para o menu principal</a> ]</font>
</div>
</body>
</html>
Na página gerclientes.php
(página de
gerenciamento), passamos
como
parâmetro o id do cliente que vai ser alterado.
Na página altclientes.php (página que altera os dados) fizemos um SELECT na
tabela de clientes acrescentando na cláusula WHERE o id_cliente sendo igual ao código
que foi passado como parâmetro. Com isso, não teremos os dados de todos os clientes
mais sim todos os dados de um determinado cliente.
Depois de ter executado o mysql_query(), usamos o comando mysql_fetch_array()
que vai retornar o resultado da consulta como um array, aí fica mais fácil para
manipularmos os dados do cliente.
Como disse anteriormente, esse arquivo é bem parecido com o de cadastro, e na
hora de alterar os dados fazemos uso do comando SQL: UPDATE tabela SET
campo=’$campo’. No nosso caso, precisamos acrescentar um WHERE porque senão ele
vai alterar os dados de todos os clientes que temos no banco de dados e não é isso que
queremos. É para ele alterar apenas o do usuário escolhido. Então o nosso código vai ficar
desse jeito.
<?php
$sql
=
mysql_query("UPDATE
tb_clientes
SET
nome_cli
=
'$nome_cli',end_cli='$end_cli',bairro_cli='$bairro_cli',email_cli=
'$email_cli',tel_cli='$tel_cli',cidade_cli='$cidade_cli',
estado_cli='$estado_cli' WHERE id_cli='$id_cliente'")
or die("Erro no comando SQL:".mysql_error());
?>
Sendo que na cláusula WHERE, aquele id_cliente é o código do cliente que está
sendo modificado.
Exclusão do cliente (excluirclientes.php)
Essa página contém apenas o comando SQL para excluir o usuário da tabela
conforme
o
parâmetro
passado.
Esse
parâmetro
será
passado
pela
página
ger_clientes.php que nada mais é que o código do cliente que vai ser excluído.
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
require("conecta.php"); //Conecta com a nosso banco de dados MySQL
//RECEBE OS DADOS DA URL
$id_cliente = $_GET[id_cliente];
$sql_del
=
mysql_query("DELETE
FROM
tb_clientes
WHERE
id_cli='$id_cliente'")
or die("Erro no SQL: ".mysql_error());
echo
"<br
/><br
/><div
align=center><font
face=Arial
size=2>Cliente EXCLUÍDO com Sucesso!
<br /><br /><a href='opcoes.php'>[ Voltar para o menu principal
]</a> </font></div><br />";
?>
Se ficar simplesmente assim, poderemos excluir algum cliente sem querer.
Portanto, vamos alterar o arquivo gerclientes.php para que, ao clicarmos em [ Excluir ],
uma janela seja aberta perguntando se temos certeza que queremos excluir o cliente.
Para isso, vamos utilizar o javascript:
<script language="javascript">
function confirmaExclusao(aURL) {
if(confirm('Tem certeza que deseja excluir?')) {
location.href = aURL;
}
}
</script>
Vamos colocar o código fonte acima entre a linha <body bgcolor="#FFFFFF"
text="#000000"> e a linha <?php do arquivo gerclientes.php.
Devemos agora substituir o trecho de código abaixo (próximo a linha 95) do mesmo
arquivo (gerclientes.php):
<div
align="center"><font
face="Arial"
size="2">[
href='excluirclientes.php?id_cliente=<?php
<a
echo
$array_cliente['id_cli'];?>'>Excluir</a> ]</font></div>
por este código:
<div
align="center"><font
face="Arial"
size="2">[
<a
href="javascript:confirmaExclusao('excluirclientes.php?id_cliente=
<?php
echo
$array_cliente['id_cli'];?>')">Excluir</a>
]</font></div>
Vamos rodar o programa e testar se está funcionando corretamente.
Pesquisar Clientes (pesqclientes_a.php)
A principal função desse arquivo é apresentar um formulário com algumas opções
de pesquisa de clientes, que gerará um relatório com os mesmos.
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
?>
<html>
<head>
<title>Tutorial UNIVERSO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<script language=javascript>
function verifyForm()
{
if(document.pesquisa.dtinicial.value == "") {
alert("A Data Inicial deverá ser digitada !!!");
document.pesquisa.dtinicial.focus();
return(false);
};
if(document.pesquisa.dtfinal.value == "") {
alert("A Data Final deverá ser digitada !!!");
document.pesquisa.dtfinal.focus();
return(false);
};
if(document.pesquisa.dtinicial.value.length<10) {
alert("A Data Inicial deve possuir 10 dígitos. Ex:
01/01/2015");
document.pesquisa.dtinicial.focus();
return(false);
};
if(document.pesquisa.dtfinal.value.length<10) {
alert("A Data Final deve possuir 10 dígitos. Ex:
30/06/2015");
document.pesquisa.dtfinal.focus();
return(false);
};
return(true);
};
<!--
MASCARA CAMPO DATA-->
function formatar(src, mask)
{
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)
if (texto.substring(0,1) != saida)
{
src.value += texto.substring(0,1);
}
}
function mascara(o,f)
{
//alert("Cheguei na função!!!");
v_obj=o
v_fun=f
setTimeout("execmascara()",1)
}
function execmascara()
{
v_obj.value=v_fun(v_obj.value)
}
function mesano(v)
{
v=v.replace(/\D/g,"")
//Remove tudo o
que não é dígito
v=v.replace(/(\d{2})(\d{1,4})$/,"$1/$2")
//Coloca
uma
barra entre o segundo e o terceiro dígito
return v
}
function masc_data(v)
{
v=v.replace(/\D/g,"")
//Remove tudo o
que não é dígito
v=v.replace(/(\d{2})(\d)/,"$1/$2")
//Coloca
uma
//Coloca
uma
barra entre o segundo e o terceiro dígitos
v=v.replace(/(\d{2})(\d)/,"$1/$2")
barra entre o quarot e o quinto dígitos
return v
}
function processo(v)
{
v=v.replace(/\D/g,"")
//Remove tudo o
que não é dígito
v=v.replace(/(\d{6})(\d{1,4})$/,"$1/$2")
barra entre o quinto e o sexto dígito
return v
}
function soNumeros(v)
{
return v.replace(/\D/g,"")
}
</SCRIPT>
<br />
//Coloca
uma
<table
width="60%"
border="0"
cellspacing="0"
cellpadding="0"
align="center">
<tr>
<td height="60">
<div
align="center"><font
face="Arial"
size="4"><b>Pesquisar
Clientes</b></font></div>
</td>
</tr>
</table>
<br />
<font face="Arial">
<center>
Digite
<b>Data
o
<b>DADO</b>
Inicial
de
desejado,
escolha
Cadastro</b>,<br
o
/>
critério,
a
<b>Data
digite
Final
a
de
Cadastro</b> e clique em <b>Pesquisar</b>.<br />
<br />
<TABLE
border="0"
cellPadding="1"
cellSpacing="1"
width="750"
valign="top" bgcolor="#000000">
<tr>
<td bgcolor="#eeeeee" width="20%"
valign="top">
<br /><CENTER>
<form
name="pesquisa"
method="post"
action="pesqclientes.php" target="_blank">
Digite o <B>DADO</B> desejado:
 <input
type="text"
name="criterio" value=""><br /><br />
 <input
type="radio"
name="campo" value="nome_cli" checked>Nome do Cliente
 <input
type="radio"
name="campo" value="end_cli">Endereço
 <input
type="radio"
name="campo" value="bairro_cli">Bairro
 <input
name="campo" value="email_cli">E-mail
type="radio"
 <input
type="radio"
name="campo" value="tel_cli">Telefone
 <input
type="radio"
name="campo" value="cidade_cli">Cidade
 <input
type="radio"
name="campo" value="uf">Estado (Ex: MG)<br /><br />
<b>Digite
o
período
abaixo,
considerando como base a Data de Cadastro:</b><br />
<b>Data
type="text"
Inicial:</b> <input
name="dtinicial"
value=""
size="10"
onkeyup="mascara(this,masc_data)"
maxlength="10">       
<b>Data
type="text"
name="dtfinal"
Final:</b> <input
value=""
size="10"
onkeyup="mascara(this,masc_data)" maxlength="10"><br />
<br />
<b>Ordenar por:</b><br />
<input
name="ordenar_por"
type="radio"
value="nome_cli"
checked>Nome
do
Cliente
<input
name="ordenar_por"
type="radio" value="inclusao_cli">Data / Hora de Cadastro
<input
name="ordenar_por"
type="radio" value="bairro_cli,end_cli">Bairro / Endereço<br />
<br />
 <input
onclick=javascript:return(verifyForm());
type="submit"
Pesquisar "><br /><br />
</form>
<script>document.pesquisa.criterio.focus()</script>
</CENTER>
</td>
</tr>
</table>
</center>
value="
</font>
<br />
<div align=center><font face=Arial size=2>
[ <a href='opcoes.php'>Voltar para o menu principal</a> ]</font>
</div>
</body>
</html>
Agora que já temos o formulário de Pesquisa de Clientes criado, vamos montar o
arquivo que exibirá o resultado da pesquisa (pesqclientes.php):
Código fonte:
<?php
require("ver_sessao.php"); //Verifica se a sessão está ativa
require("conecta.php") //Conecta com a nosso banco de dados MySQL
?>
<html>
<head>
<title>Tutorial
UNIVERSO
-
Relatório
Clientes</title>
</head>
<body>
<!-- MUDAR COR DA TABELA-->
<script language="javascript">
function mudar_cor_over(celula){
celula.style.backgroundColor="#cccccc"
}
function mudar_cor_out(celula){
celula.style.backgroundColor="#ffffff"
}
</script>
<center>
de
<font
size="+2"
face="Arial
Narrow"><b>Relatório
de
Clientes</b></font>
</center>
<br />
<?php
//RECEBE OS DADOS DO FORMULÁRIO
$criterio
= $_POST[criterio];
$campo
= $_POST[campo];
$dtinicial
= $_POST[dtinicial];
$dtfinal
= $_POST[dtfinal];
$ordenar_por
= $_POST[ordenar_por];
// Colocando a Data Inicial no formato aaaa-mm-dd
$dti_dia = substr($dtinicial, 0, 2);
$dti_mes = substr($dtinicial, 3, 2);
$dti_ano = substr($dtinicial, 6, 4);
$dti = "$dti_ano-" . "$dti_mes-" . "$dti_dia " . "00:00:00";
// Colocando a Data Final no formato aaaa-mm-dd
$dtf_dia = substr($dtfinal, 0, 2);
$dtf_mes = substr($dtfinal, 3, 2);
$dtf_ano = substr($dtfinal, 6, 4);
$dtf = "$dtf_ano-" . "$dtf_mes-" . "$dtf_dia " . "23:59:59";
?>
<?php
$sql
=
"SELECT
id_cli,inclusao_cli,date_format(inclusao_cli,'%d/%m/%Y
as
inclusao_cli_formatado,
nome_cli,
end_cli,
-
%H:%i')
bairro_cli,
email_cli, tel_cli, cidade_cli, estado_cli, uf
FROM tb_clientes,tb_estados
WHERE
tb_estados.id_estado
=
tb_clientes.estado_cli
AND
$campo Like \"%" . $criterio. "%\" and inclusao_cli >= '$dti' and
inclusao_cli <= '$dtf' order by $ordenar_por";
$sql_result=mysql_query($sql);
$numreg = mysql_numrows($sql_result);
$i = 0;
?>
<center>
<b>
<FONT SIZE=+1 FACE="Arial">
<?php
if ($campo == "nome_cli") {
$campo = "pelo Nome do Cliente";}
if ($campo == "end_cli") {
$campo = "pelo Endereço do Cliente";}
if ($campo == "bairro_cli") {
$campo = "pelo Bairro do Cliente";}
if ($campo == "email_cli") {
$campo = "pelo E-mail do Cliente";}
if ($campo == "tel_cli") {
$campo = "pelo Telefone do Cliente";}
if ($campo == "cidade_cli") {
$campo = "pela Cidade do Cliente";}
if ($campo == "uf") {
$campo = "pelo Estado do Cliente (Ex: MG)";}
if ($ordenar_por == "nome_cli") {
$ordenado_por_ext = "Ordenado pelo Nome do Cliente";}
if ($ordenar_por == "inclusao_cli") {
$ordenado_por_ext
=
"Ordenado
pela
Data
de
Inclusão do Cliente";}
if ($ordenar_por == "bairro_cli,end_cli") {
$ordenado_por_ext
=
"Ordenado
pelo
Bairro
Endereço do Cliente";}
// Colocando a data no formato certo: dd/mm/aaa
print "Pesquisa efetuada $campo igual a '$criterio' \n<br /> ";
/
print
"no
período
de
'$dtinicial'
até
'$dtfinal'
\n<br /> ";
print "<font size='2'>$ordenado_por_ext</font>" . "<br /><br />";
print "Número de Clientes encontrados:
"
.$numreg. " <br
/>";
?>
<br />
</FONT>
</b>
</center>
<center>
<table border="1" cellspacing="3" cellpadding="3" width="800">
<tr>
<td>
<Center><B><FONT
SIZE="-1"
FACE="Arial">Nome do Cliente</FONT></B></Center>
</td>
<td>
<Center><B><FONT SIZE="-1" FACE="Arial">Email</FONT></B></Center>
</td>
<td>
<Center><B><FONT
SIZE="-1"
FACE="Arial">Telefone</FONT></B></Center>
</td>
<td>
<Center><B><FONT
SIZE="-1"
FACE="Arial">Endereço</FONT></B></Center>
</td>
<td>
<Center><B><FONT
FACE="Arial">Bairro</FONT></B></Center>
</td>
<td>
SIZE="-1"
<Center><B><FONT
SIZE="-1"
FACE="Arial">Cidade / Estado</FONT></B></Center>
</td>
<td>
<Center><B><FONT
SIZE="-1"
FACE="Arial">Data e Hora de Cadastro</FONT></B></Center>
</td>
</tr>
<?php
while ($row = mysql_fetch_array($sql_result))
{
?>
<tr
onmouseover="mudar_cor_over(this)"
onmouseout="mudar_cor_out(this)">
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['nome_cli']) ?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['email_cli']) ?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['tel_cli']) ?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['end_cli']) ?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['bairro_cli']) ?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['cidade_cli'])
?>
/
<?php
echo($row['uf'])
?></FONT></Center>
</td>
<td>
<Center><FONT SIZE="-2" FACE="Arial"><?php
echo($row['inclusao_cli_formatado']) ?> hs</FONT></Center>
</td>
</tr>
<?php
}
if ( mysql_num_rows($sql_result) == 0)
{
?>
<tr>
<td COLSPAN="7">
<FONT SIZE=+1 FACE="Arial">
<center>Nenhum
registro
encontrado!</center>
</FONT>
</td>
</tr>
<?php
}
?>
</table>
</center>
<!--RODAPÉ DO RELATÓRIO-->
<br />
<center><a
HREF="javascript:self.print()">Imprimir</a>   &nbsp
; 
<a HREF="javascript:self.close()">Fechar</A></center>
</body>
</html>
Vamos rodar o programa e verificar se tudo está funcionando perfeitamente.
Download