Ir para conteúdo
Fórum Script Brasil
  • 0

Php + Dbf


®odrigo_$am

Pergunta

Oopa..pessoal, graças a vocês do Forum meu sistema de busca está funionando beleza..agora é o seguinte...além dos arquivos SQL, eu também tenho uma base de dados em DBF devido um programa que tenho em Clipper ( é ele não morreu !! hehe ). Então eu preciso também que seja feito uma busca em um arquivo DBF e achei que minha busca em MYSQL poderia servir como ingnição...será que alguém pode me ajudar æa fazê-la funcionar buscando em DBF ?

os scripts são os seguintes..

index.php

<form method="POST" action="mysqlconsulta.php">
      <input type="text" maxLength="40" size="10" name="search" id="search">
      <input type="submit" value="Buscar" name="B1">
</form>
msqlconecta.php
<?
// Este arquivo conecta um banco de dados MySQL - Servidor = localhost 
$dbname="micro-f_datareset"; // Indique o nome do banco de dados que será aberto
$usuario="micro-f_microf"; // Indique o nome do usuário que tem acesso
$password="mf123"; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL 
if(!($id = mysql_connect("localhost",$usuario,$password))) {
   echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
   exit;
} 
//2º passo - Seleciona o Banco de Dados 
if(!($con=mysql_select_db($dbname,$id))) { 
   echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
   exit; 
} 
?>
msqlexecuta.php
<?php 
function mysqlexecuta($id,$sql,$erro = 1) { 
    if(empty($sql) OR !($id)) 
       return 0; //Erro na conexão ou no comando SQL   
   if (!($res = @mysql_query($sql,$id))) { 
      if($erro) 
        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
      exit;
   } 
    return $res; 
 }
?>
msqlconsulta.php
<?
    include "mysqlconecta.php"; // Conecta ao banco de dados
    include "mysqlexecuta.php"; // Executa a cláusula SQL

    //Executa a consulta

    $sql = "SELECT * FROM reset WHERE serie = ".$_POST['search'];
	$res = mysqlexecuta($id,$sql);

?> 
<table width=100% cellpading=0 cellspacing=0 border="1"> 
  <?
   //Exibe as linhas encontradas na consulta
   while ($row = mysql_fetch_array($res)) {
?> 
  <tr> 
    <td bgcolor="#CCCCCC"><b>Nome</b></td> 
    <td bgcolor="#CCCCCC"><b>Código</b></td>
	<td bgcolor="#CCCCCC"><b>Dias</b></td> 
  </tr> 
  <tr> 
    <!--td><?echo $row['serie'];?></td--> 
    <td><?echo $row['nome'];?></td> 
    <td><b><font color="#FF0000"><?echo $row['codigo'];?></font></b></td>
    <td><b><?echo $row['dias'];?> dias</b></td>  
    <!--td><?echo $row['dias'];?></td--> 
    <!--td><?echo $row['vencimento'];?></td--> 
  </tr> 
  <?
 }
?> 
</table> 
</body>
</html>

então pessoal, esta busca está funcionando perfeita foi por iso que eu achei que pudesse ser usada æ pra buscar em DBF...se eu estiver falando besteira me desculpem...

Se alguém puder me ajudar eu agradeço.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Ae velho, o que tu podes tentar fazer é abrir com fopen uma stream e "catar" os dados dentro dela... isso porque ao menos eu não conheço nenhuma função que trabalhe com esse tipo de base... sad.gif

Mas pra isso precisas avaliar... se é viável, aqui vai um helpsinho básico:

1 - Qual o tamanho da base?

2 - Como ficam salvos os dados dentro do dbf?

wink.gif vê ae... to meio por fora de dbf!

Link para o comentário
Compartilhar em outros sites

  • 0

Então cara..é o seguine..os arquivos DBF são com tabelas do excel...a estrutura do arquivo é a seguinte:

| ID - NUM - SEQUÊNCIAL

| SERIE - 10 - NUM

| NOME - 40 - CARAC

| CODIGO - 17 - NUM

| DIAS - 10 - DATE

A estrutura básica do DBF e essa...o arquivo deve ter mais ou menos uns 50k.

caso queira baixar um DBF para teste...eis o link.... rolleyes.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que vai ser complicado...

Consegui abrir o arquivo em stream mas n tem nenhum tipo de separados... (um formato bom seria csv) acho que é melhor tu procurar por um conversor... sei lá... mas se quiser tentar a idéia é essa:

-abrir o arquivo;

-ler;

-tentar separar os "campos";

-formatar os dados para exibição na tela;

-fechar o arquivo...

Básico do básico eu fiz aqui pra testar...

Link para o comentário
Compartilhar em outros sites

  • 0

Oopa..

Æ, eu consegui printar os dados da tabela DBF na tela...agora tá dificil submeter esse código a uma busca...

o codigo..

PHP

<?php
$dbname = "reset.dbf";
$con = dbase_open($dbname,0) or die("Erro na Conexão com o arquivo DBF");
$rows = dbase_numrecords($con);
for($i=1;$i<=$rows;$i++) {
  $registro = dbase_get_record($con,$i);
  echo $registro[0];
  echo $registro[1];
  echo "<br>";
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

ae meu... eu tava totalmente fora da casinha.... viajando horrores iauhaihuiauhaiha

http://br2.php.net/manual/pt_BR/ref.dbase.php

Nesse link tu vai encontrar uma função que cata os dados wink.gif

http://br2.php.net/manual/pt_BR/function.d...-get-record.php

Foi mals ae minhas super-hiper-trider-master rateadas (mas funciono tb vai dize... hiauhauhiauh)

Abraço cara, qualquer coisa prende o berro denovo... agora eu to situado iuahiuahiuahiauhaiuh

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...