CONEXÃO PROGRESS 9 com PHP4
Criação da apostila: 20/08/2002
Nesta apostila, vou detalhar como pode ser feita a conexão do PHP4 com o
Progress. Para isto, será necessário criar o seguinte ambiente:
• SERVIDOR WINNT4 ou WIN2000Server;
• IIS – Internet Information Server (versão 4 ou maior);
• Banco de Dados Progress 9.1C;
• Não necessita do client do banco instalado no servidor.
Este é o ambiente utilizado para os testes, mas deve funcionar com algumas
variações na versão do Banco de Dados (9.x) e com o Servidor de Internet APACHE para
Windows. Aliás, segundo artigos de consultores, o APACHE rodando sobre o Windows é
muito mais seguro que o próprio IIS da Microsoft. Mas uma boa configuração no IIS
resolve todos os problemas.
Instalando o PHP4 no Windows
No site oficial do PHP (http://www.php.net/) você vai encontrar a versão mais
recente do PHP4. No entanto, a versão distribuída por esse site é uma instalação básica e
não dá suporte a todos os recursos do PHP. Recomendo então que vá ao endereço
http://php4win.de/ e faça o download da última versão estável do PHP4. Normalmente, o
link para o donwload do php neste site fica no canto superior direito da página. Deve ter
aproximadamente 6MB. Se o arquivo baixado não tiver nenhuma extensão, renomeie o
mesmo adicionando .exe no final. A seguir crie um diretório chamado c:\php e copie o
arquivo que você fez o download para dentro deste diretório no servidor. Execute-o, ou
descompacte-o dentro deste diretório.
Feito isto, o diretório c:\php agora conterá diversos subdiretórios e alguns
arquivos de texto. Também conterá uma arquivo chamado php.exe, que não será
utilizado. Ao invés disto utilizaremos o arquivo php4ts.dll que está neste mesmo diretório.
Copie este arquivo .dll para dentro de C:\WINNT\System32. Agora abra o subdiretório dlls
e copie todos os arquivos contidos nesta pasta para dentro de C:\WINNT\System32. Se já
existirem algum destes arquivos neste diretório, não substitua. Mantenha a versão
anterior.
Dentro do diretório C:\php deve haver um arquivo chamado de php.inirecommended. Copie-o para dentro de C:\WINNT com o nome php.ini.
Se este arquivo não existir, deve existir um outro com o nome de php.ini-dist.
Copie-o para dentro de C:\WINNT com o nome php.ini.
Abra este arquivo com o Bloco de Notas e role o documento para baixo até
encontrar uma linha como a seguinte e deixe-a como abaixo:
extension_dir = c:\php\extensions;
Certifique-se de que este caminho é o correto para o diretório extensions da
instalação.do PHP4 descompactada. Se não for altere a linha acima para apontar para o
lugar certo. O diretório extensions contém várias DLL’s cujo o nome começam com php_.
Pronto, o PHP4 está instalado. Agora é só configurar o IIS.
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Configurando o IIS – Internet Information Server
Inicie o Internet Services Manager. No Windows NT, você irá encontrá-lo em
Wndows NT 4.0 Option Pack em seu menu Iniciar. No Windows 2000, ele estará em
Iniciar > Programas > Ferramentas Administrativas. Segue Figura1 do Gerenciador de
Serviços.
Figuras 1Internet Information Services
Clique com o botão direito do mouse sobre Site da Web padrão e acione suas
propriedades. Deverão ser feitas duas alterações.
Primeiro, vamos registrar o filtro ISAPI PHP4. Clique na guia Filtros ISAPI.
Clique em seguida no botão Adicionar e crie um novo filtro com o nome de PHP – Figura
2. Na pasta dos arquivos PHP que foi feito o donwload existe um filtro ISAPI PHP no
diretório sapi, com o nome de php4isapi.dll. Coloque o caminho correto para o arquivo
php4isapi.dll (deve estar no diretório C:\php\sapi\php4isapi.dll).
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Figuras 2
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
A seguir, precisaremos informar ao IIS a que arquivos aplicar o filtro PHP4.
Este filtro deverá ser aplicado a todos os arquivos que terminem em .php que é a
extensão padrão dos arquivos do PHP4. Para isto, vá para a guia “Pasta base” - Figura 3.
Figuras 3
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Em seguida Clique no botão “Configuração...” - Figura 4.
Figuras 4
Clique no botão “Adicionar” e na tela que será aberta, especifique o caminho
para php4isapi.dll. Informe ao IIS para aplicar este filtro aos arquivos .php como indica a
Figura 5. Depois clique em “Ok”.
Figuras 5
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Agora, será preciso reiniciar completamente o IIS. A melhor maneira de
encerrar completamente o IIS é restartá-lo é fazê-lo em uma janela de prompt de
comando.
Abra uma janela de prompt de comando e digite os seguintes comandos:
Para parar o IIS: net stop iisadmin
Ao aparecer a pergunta “Deseja continuar a operação? (S/N) [N]:” confirme
com um “s”.
No final de todo o processo, será mostrado várias mensagens de finalização
com êxito.
Para reiniciar o IIS: net start w3svc
Se a mensagem no final relatar que o serviço foi inicializado com êxito, tudo
está correto e você terá agora o PHP4 totalmente instalado.
Você deve lembrar-se sempre que o diretório raiz do seu site web é por
default C:\Inetpub\wwwroot. É dentro deste diretório que você vai colocar mais tarde todos
os seus scripts php e páginas html do seu site.
Testando a instalação do PHP4
Agora, vamos fazer um teste no php para ter certeza que ele está
interpretando os scripts corretamente. Para isso, crie um arquivo no Bloco de Notas ou
em qualquer outro editor de texto e digite os comandos como mostra a Figura 6.
Figuras 6
Salve este arquivo no diretório padrão C:\Inetpub\wwwroot\ com o nome
teste.php. O Bloco de Notas tem como padrão, acrescentar a extensão .txt em todos os
arquivos feitos nele. A maneira mais simples de controlar isto é sempre colocar o nome do
arquivo entre aspas duplas na hora de salvar. Ex.: “teste.php”.
Agora no seu servidor, abra o browser (navegador web) e digite o seguinte
endereço: http://localhost/teste.php.
Se o arquivo tiver sido salvo no diretório correto e a instalação do PHP4
estiver correta, deve aparecer uma página com diversas informações referentes ao PHP,
como mostra a figura 7.
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Figuras 7Página de teste do php
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Configurando o DSN – Data Source Name no Windows
Depois de instalado e configurado o PHP4, supondo que você já tenha
instalado o Progress 9.x, resta somente configurar um Data Source Name para que o
driver ODBC execute a conexão com o Banco de Dados, configuração esta que será
detalhada abaixo.
Antes de começar a configurar o DSN, vá até o arquivo SERVICES do
Windows, que normalmente fica localizado em C:\WinNT\System32\Drivers\etc e se ainda
não foi criado, crie um serviço para a sua base de dados Progress. Ex.: dbprodsv
2050/tcp. Este serviço será usado na configuração do Data Source para a conexão do
banco pelo ODBC.
Abra agora o Painel de Controle do Windows, e dê duplo-clique no ícone
“Ferramentas Administrativas”. Em seguida dê duplo-clique no ícone “Fontes de Dados
ODBC”. A tela “ODBC Data Source Administrator” será aberta (Figura 8). Vá então até a
guia “System DSN” e clique no botão “Add”. Na tela que se abre, escolha o Driver ODBC
do Progress e em seguida clique em “Concluir” (Figura 9).
Figuras 8Administrador de Fontes de Dados ODBC
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Figuras 9
Agora é só preencher os dados do Data Source de acordo com a instalação
do Progress como mostra a Figura 10.
Figuras 10
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Os campos devem conter os seguintes valores:
Data Source Name: Um nome qualquer para para o data source. Este nome
vai ser utilizado no script PHP para fazer a conexão;
Host Name: O endereço IP do servidor ou localhost;
Port Number: O número do serviço criado para o banco no arquivo Services
do Windows;
Database Name: O Nome do banco de dados a ser acessado;
User ID: Se o seu banco não tiver nenhum usuário cadastrado, deve ser
colocado o usuário que se logou no servidor NT. O Progress toma como default o usuário
do windows que criou o banco.
Depois de preenchido todos os campos, clique no botão “Test Connect”para
testar a conexão. Será aberta uma nova janela com os dados do Data Source faltando
somente preencher o campo Password (Figura 11). No campo Password, coloque a
senha do usuário que você utilizou para se logar no Windows e clique em seguida em Ok.
Neste momento o seu banco de dados deve estar no ar. Se der uma mensagem de erro
do tipo 1114, feche todas as janelas, baixe o banco de dados, reinicie a máquina e repita
todo este processo.
Figuras 11
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Fazendo um script PHP para conexão com o Progress 9
Agora, despois de tudo estar devidamente instalado e configurado, vamos
fazer um script básico que se conecta no Progress, e executa uma instrução SQL de
seleção de alguns dados de uma tabela. A explicação detalhada sobre as funções PHP
usadas no script, podem ser encontradas no Manual do PHP que pode ser baixado
gratuitamente na internet no endereço http://www.php.net. Recomendo que você já tenha
alguma familiaridade com a linguagem php antes de iniciar os testes com os script's
abaixo.
Como visto anteriormente, o script PHP pode ser escrito em qualquer editor
de texto, tanto gráficos como de linha de comando, desde que salvo com a extensão
.php. Vamos utilizar aqui o Bloco de Notas do Windows, mas existem alguns editores de
código php freewares que podem ser baixados gratuitamente na internet como o PHP
Coder que pode ser baixado em http://www.phpide.de/.
No script php existem algumas variáveis que são utilizadas como parâmetros
para os comandos sql. Estas variáveis vem de um formulário em html que será o
chamador do script. Cada campo do formulário equivale a uma variável do script sendo
que o mesmo nome dos campos do formulário são o nome da variável acrescida do $ no
início. Se você não quiser fazer um formulário para testar o script, substitua as variáveis
por um valor fixo. Ex.: $almox por 12001.
Abaixo, vou colocar todo o script e depois faço os comentários das partes
mais importantes.
===================== ÍNICIO DO ARQUIVO: cons_estoque.php ===================
<html>
<head>
<title>Consulta de Estoque</title>
</head>
<body bgcolor="#FFFFE8">
<center>
<H3><font color='darkblue' face='Arial'> CONSULTA DE ESTOQUE </font></H3>
<HR width='61%'>
</center>
<?php
/* INÍCIO DO SCRIPT PHP */
$conexao = odbc_connect("web", "administrador", "senha" ,SQL_CUR_USE_ODBC)
or die("Não pude conectar com o Banco Progress.");
if ($conexao) {
$resultado = odbc_exec($conexao, "SELECT Nome FROM PUB.Almox WHERE IdAlmox
= $almox");
$nomealmox = odbc_result( $resultado, 1 );
$resultado = odbc_exec($conexao, "SELECT Nome FROM PUB.Unicoop WHERE
IdUnicoop = $unidade");
$nomeunidade = odbc_result( $resultado, 1 );
$resultado = odbc_exec($conexao, "SELECT Nome FROM PUB.Produto WHERE
IdProduto = $produto");
$nomeproduto = odbc_result( $resultado, 1 );
print "<center><table border='0'>";
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Unidade
:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s %s</font></td></tr>", $unidade, $nomeunidade);
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Almoxarifado:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s -
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
%s</font></td></tr>", $almox, $nomealmox);
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Produto
:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s %s</font></td></tr>", $produto, $nomeproduto);
print "</table><HR width='61%'></center>";
}
if ($conexao) {
$resultado = odbc_exec($conexao, "SELECT QdeEstoque, QdeDisponivel,
CustoMedio, DataUltimaSaida FROM PUB.Estoque
WHERE IdAlmox = $almox AND IdUnicoop =
$unidade AND IdProduto = $produto");
if ($resultado) {
print "<center><table border='0'><tr>";
printf("<th bgColor='darkblue' vAlign='top' width='129' align='center'>
<b> <font color='white' face='Arial' size='2'>%s
</font></b></th>", "Qtd. Estoque"
);
printf("<th bgColor='darkblue' vAlign='top' width='100' align='center'>
<b> <font color='white' face='Arial' size='2'>%s
</font></b></th>", "Qtd. Disponível" );
printf("<th bgColor='darkblue' vAlign='top' width='91' align='center'>
<b> <font color='white' face='Arial' size='2'>%s </font> </b>
</th>", "Custo Médio" );
printf("<th bgColor='darkblue' vAlign='top' width='129' align='center'>
<b> <font color='white' face='Arial' size='2'>%s
</font></b></th>", "Data Última Saída");
while (odbc_fetch_row($resultado)) {
print "<tr>";
printf("<td bgColor='lavender' width='129' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 1 ));
printf("<td bgColor='lavender' width='100' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 2 ));
printf("<td bgColor='lavender' width='91' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 3 ));
printf("<td bgColor='lavender' width='129' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 4 ));
print "</tr>";
}
print "</table></center>";
}
}
odbc_close($conexao);
?> /* FIM DO SCRIPT PHP */
</body>
</html>
=====================
FIM DO ARQUIVO
======================================
O Script começa com uma conexão ao banco de dados Progress. A variável
$conexão é uma variável lógica que receberá true se a conexão for efetuada com
sucesso. Se a conexão não for possível, o comando die se encarregará de mostrar uma
mensagem informativa no browser.
$conexao = odbc_connect("web", "administrador", "senha" ,SQL_CUR_USE_ODBC)
or die("Não pude conectar com o Banco Progress.");
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Em seguida, é executado um comando select na base para se obter o nome
do Almoxarifado. Note que foi colocado a palavra PUB antes do nome das tabelas para
que o progress consiga achar a tabela. O resultado é armazenado na variável
$nomealmox:
$resultado = odbc_exec($conexao, "SELECT Nome FROM PUB.Almox
WHERE IdAlmox = $almox");
$nomealmox = odbc_result( $resultado, 1 );
Repete-se o processo para obter o nome da unidade e o nome do produto que
serão impressos logo em seguida, utilizando os comandos print e printf.
print "<center><table border='0'>";
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Unidade
:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s %s</font></td></tr>", $unidade, $nomeunidade);
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Almoxarifado:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s %s</font></td></tr>", $almox, $nomealmox);
print "<tr><td width='91'><font color='darkblue' face='Arial'
size='2'>Produto
:</font></td>";
printf("<td width='365'><font color='darkblue' face='Arial' size='2'>%s %s</font></td></tr>", $produto, $nomeproduto);
print "</table><HR width='61%'></center>";
O comando print tem o mesmo efeito do echo. Já o comando printf recebe
como parâmetro as variáveis que contém os valores que serão mostrados na tela,
formatados com %s como na linguagem “C”. Os demais comandos são comandos html
simples para formatação dos resultados em tabelas. Esta formatação pode ser feita em
um editor de html qualquer como o FrontPage ou Dreamweaver e depois copiados para o
script.
Logo em seguida, é executado mais um comando SQL na base de dados para
pegar as quantidades em estoque.
$resultado = odbc_exec($conexao, "SELECT QdeEstoque, QdeDisponivel, CustoMedio,
DataUltimaSaida FROM PUB.Estoque WHERE
IdAlmox = $almox AND IdUnicoop =
$unidade AND IdProduto = $produto");
O resultado retornado será diferente dos comandos executados anteriormente,
que só retornavam uma linha como resultado. Este último Select retorna varias linhas e
por isso será necessário percorrer cada uma destas linhas para imprimir na tela.
while (odbc_fetch_row($resultado)) {
print "<tr>";
printf("<td bgColor='lavender' width='129' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 1 ));
printf("<td bgColor='lavender' width='100' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 2 ));
printf("<td bgColor='lavender' width='91' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
odbc_result($resultado, 3 ));
printf("<td bgColor='lavender' width='129' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
odbc_result($resultado, 4 ));
print "</tr>";
}
Foi utilizado o comando de loop while juntamente com a função cursor
odbc_fetch_row aplicada sobre o resultado do comando sql. Esta função, funciona como
um cursor para cada uma das linhas retornadas.
Para se obter o valor de cada campo individualmente, foi utilizado a função
odbc_result, passando como parâmetro o resultado e o número de ordem do campo na
instrução select.
A ordem dos campos começa em 1.
Note que uma vez feita a conexão com sucesso, será armazenado true na
variável $conexao, e esta ficará persistente até o fim do script.
Agora que já foi efetuada e impresso todos os comandos, só falta fechar a
conexão com o banco de dados como a seguir:
odbc_close($conexao);
O script php termina com a tag ?>.
Obs.: Os comandos html que você vê fora do script php serão processados
pelo browser normalmente. Já os comandos do próprio script serão processados pelo
servidor e o resultado será retornado para o browser.
Se você, por curiosidade mandar exibir o código fonte da tela no browser, você
não verá nenhum dos comandos php. Somente serão visíveis os comandos html. Isto
funciona como uma segurança, já que no início do script é colocado o usuário e a senha
do banco para efetuar a conexão. Esta não é maneira mais segura de se proteger um
script, mas este não é o tema debatido agora e por isso não será tratado. Você pode obter
mais informações nos manuais do php.
O exemplo mostrado acima é um exemplo simples, mas o odbc do progress
suporta muitas outras funções que podem ser exploradas e utilizadas, como criação de
views, selects mais incrementados, etc. Abaixo, como curiosidade, vou listar um script
utilizando a criação de uma view (visão) e em seguida, comandos sql executados sobre
esta visão. Em algumas consultas mais complexas, a utilização de views torna a consulta
mais rápida, como é o caso do exemplo que será mostrado abaixo, onde é efetuada uma
busca por uma palavra no nome do produto.
===================== ÍNICIO DO ARQUIVO: cons_estnome.php ===================
<?php
//FAZ A CONEXÃO COM O BANCO DE DADOS
$conexao = odbc_connect("web", "administrador", "senha" ,SQL_CUR_USE_ODBC)
or die("Não pude conectar com o Banco Progress.");
if ($conexao) {
//EXECUTA A CRIAÇÃO DA VIEW
$comando = "CREATE VIEW V_ALMOX AS SELECT Estoque.QdeEstoque,
Estoque.QdeDisponivel, Estoque.CustoMedio,
Estoque.DataUltimaSaida, Produto.IdProduto, Produto.Nome,
Estoque.IdUnicoop FROM PUB.Estoque, PUB.Produto WHERE
Estoque.IdProduto = Produto.IdProduto AND Estoque.IdUnicoop
= $unidade AND Estoque.QdeDisponivel <> 0";
$res = odbc_exec($conexao, $comando);
// SELECIONA TODOS OS REGISTROS QUE CONTENHAM A PALAVRA NO NOME DO PRODUTO
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
$comando = "SELECT * FROM V_ALMOX WHERE Nome LIKE '%$nome%'";
}
//EXECUTA O COMANDO SQL SOBRE A VISÃO
$resultado = odbc_exec($conexao, $comando);
if ($resultado) {
//IMPRIME O CABEÇALHO DAS COLUNAS NA TABELA
print "<html><head><title>Consulta de Estoque</title></head><body
bgcolor='#FFFFE8'>";
print "<center><table border='0'><tr>";
printf("<th bgColor='darkblue' vAlign='top' width='15' align='center'> <b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"UN.");
printf("<th bgColor='darkblue' vAlign='top' width='40' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Código");
printf("<th bgColor='darkblue' vAlign='top' width='270' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Nome do Produto");
printf("<th bgColor='darkblue' vAlign='top' width='91' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Qtd. Estoque");
printf("<th bgColor='darkblue' vAlign='top' width='100' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Qtd. Disponível");
printf("<th bgColor='darkblue' vAlign='top' width='91' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Custo Médio");
printf("<th bgColor='darkblue' vAlign='top' width='91' align='center'><b>
<font color='white' face='Arial' size='2'>%s </font></b></th>",
"Última Saída");
//PERCORRE TODAS AS LINHAS DO RESULTADO
while (odbc_fetch_row($resultado)) {
//TESTA SE O VALOR DO CAMPO 2 É DIFERENTE DE 0
if (odbc_result($resultado,2) != 0) {
print "<tr>";
printf("<td bgColor='lavender' width='15' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>", odbc_result(
$resultado, 7 ));
printf("<td bgColor='lavender' width='40' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>", odbc_result(
$resultado, 5 ));
printf("<td bgColor='lavender' width='270' align='left'> <font
color='black' face='Arial' size='2'>%s</font></td>", odbc_result(
$resultado, 6 ));
printf("<td bgColor='lavender' width='91' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>", odbc_result(
$resultado, 1 ));
printf("<td bgColor='lavender' width='100' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>", odbc_result(
$resultado, 2 ));
//IMPRIME O CAMPO FORMATADO PARA DUAS CASAS DECIMAIS
printf("<td bgColor='lavender' width='91' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
sprintf("%0.5f",odbc_result( $resultado, 3 )));
//IMPRIME O CAMPO DATA FORMATADO
printf("<td bgColor='lavender' width='91' align='center'><font
color='black' face='Arial' size='2'>%s</font></td>",
date("d/m/Y",strtotime (odbc_result( $resultado, 4 ) . "\n")));
print "</tr>";
}
}
print "</table></center>";
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
print "</body></html>";
}
//DESTRÓI A VIEW QUE FOI CRIADA ACIMA
$comando = "DROP VIEW V_ALMOX";
//FECHA A CONEXÃO COM O BANCO DE DADOS
$res = odbc_exec($conexao, $comando);
}
odbc_close($conexao);
?>
===================== FIM DO ARQUIVO ======================================
Como visto até agora, são inúmeras as possibilidades de trabalho com o php.
Tendo em vista que o Progress WebSpeed tem um valor muito elevado, esta se torna
uma alternativa totalmente gratuita e muito eficiente. Com um pouco de criatividade, podese criar sites para a internet ou intranet totalmente dinâmicos e com os mais variados
recursos.
Espero que esta apostila tenha cumprido seus objetivos, e que a mesma seja
de grande utilidade para todos.
Até mais.
Diógenes S. Cruz
Analista de Sistemas – COCARI.
Email: [email protected]
APOSTILA GRATUITA. Proibida a reprodução parcial ou total para fins comerciais.
Download

CONEXÃO PROGRESS 9 com PHP4 Criação da