Logo Hardware.com.br
BONFA-RJ
BONFA-RJ Super Participante Registrado
1.2K Mensagens 0 Curtidas

acessando um txt como tabela de um db

#1 Por BONFA-RJ 20/01/2004 - 19:21
nao sei se o nome do topico tá claro... enfim, a questao é a seguinte: estou fazendo um site e queria usar umas informacoes de um determinado banco de dados... só que o dono do db nao liberou acesso ao banco, pois ele mantém atualizado um arquivo com todas as informações que pessoal poderia precisar, como se fosse uma tabela ou view
pra quem quiser ver o arquivo --> http://www.meteorus.com.br/dump_pla.txt
e agora?, como acesso isso? se fosse um db eu mandava um mysql_query() pra mandar uma query, um mysql_fetch_array() pra jogar o resultado num array... mas sendo um txt, como eu faço isso?
caso nao tenha sido claro, falem q eu tento explicar melhor, mas me ajudem por favor!
big_green.png
Kleber Costa
Kleber Costa General de Pijama Registrado
5.2K Mensagens 1 Curtida
#3 Por Kleber Costa
21/01/2004 - 18:28
eu tô por fora, se dá pra fazer isso que vc quer com esse arquivo aê.

na coluna de php do imasters tem falando sobre pesquisa em .txt dá uma zoiada lá pra v se te ajuda.
Eu acredito que a melhor forma de fazer um banco de dados burro(esse txt por exemplo) seria com xml. É só uma sugestão :wink:
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
BONFA-RJ
BONFA-RJ Super Participante Registrado
1.2K Mensagens 0 Curtidas
#4 Por BONFA-RJ
21/01/2004 - 19:10
o cara do site só disponibiliza em txt mesmo... e ele é meio inflexivel, nem vou tentar falar com ele sobre isso
mas sei q é possível, já vi pessoal fazendo isso, mas nao tenho contato com eles, nem e-mail nem nada...
mas to indo la no imasters agora, valeu pela dica!!
smile.png

__________________________________________
atualizando:
fui la Kleber... muuuuuuuuuito legal... ainda to adaptando pro meu problema, mas era isso mesmo que eu queria!
pra quem interessar:
http://www.imasters.com.br/web/conteudo/coluna_php.php?codcoluna=1297
muuuuuuuito obrigado!
big_green.png
Igor Brito Alves
[EMAIL="igor.alves@uniriotec.br"]igor.alves@uniriotec.br[/EMAIL]
http://twitter.com/igor.alves
_________________
BONFA-RJ
BONFA-RJ Super Participante Registrado
1.2K Mensagens 0 Curtidas
#5 Por BONFA-RJ
21/01/2004 - 23:45
problems
frown.png

só falta um detalhe q nao consigo resolver... a solução que eu to usando usa a função explode() do php, que divide uma string em um array de strings
um dos argumentos da funcao (o outro é a variavel q contem a string) é o separador das strings, por exemplo:


<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
print $pieces[0]; // piece1
print $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user,$pass,$uid,$gid,$gecos,$home,$shell) = explode(":",$data);
print $user; // foo
print $pass; // *
?>


meu problema é que o arquivo .TXT que estou usando tem um numero de "spaces" variável de string pra string... exemplo:

SCORE METEOROS RANKING SET QUA NOME QUADRANTE
54396341 3705 89 1 1 ********** ST@FF **********
15580726 890 294 1 2 Roid´s hunters
38490967 2171 158 1 3 Planetas!!!!!!!
30092719 1676 212 1 4 [1T_1t] ,Aphy QG 61:14 - (pac1
24101348 2273 255 1 5 THE GALAXY RANGERS - (Pact 1)

por exemplo, o numero de spaces entre "score" e "meteoros" é 12, enquanto entre "meteoros" e "ranking" o número de spaces é 6
o que eu faço pra resolver isso?
frown.png
Igor Brito Alves
[EMAIL="igor.alves@uniriotec.br"]igor.alves@uniriotec.br[/EMAIL]
http://twitter.com/igor.alves
_________________
Bolão
Bolão Super Participante Registrado
1.2K Mensagens 0 Curtidas
#6 Por Bolão
22/01/2004 - 09:34
BONFA-RJ
problems
frown.png

só falta um detalhe q nao consigo resolver... a solução que eu to usando usa a função explode() do ph...


Bonfá, isso é relativamente simples de se fazer, porém muito trabalhoso ... veja trabalhoso != de complicado/dificil ...

Mapeie o arquivo e faça uma função para cada campo ...

Deixa eu tentar dar uma idae do que to falando :

bom, primeiro aplique o explode() no arquivo ... depois faça um loop (for...next e tal.) em cada linha e aplique as seguintes regras usando o substr() (ou alguma outra das trocentas que existem parecida):

do caractere 01 até 20 = SCORE - Seria um CHAR(20)
do caractere 21 até 30 = METEOROS - Seria um CHAR(10)
do caractere 31 até 40 = RANKING - Seria um CHAR(10)
do caractere 41 até 45 = SET - Seria um CHAR(5)
do caractere 46 até 50 = QUA - Seria um CHAR(5)
do caractere 51 até 90 = NOME QUADRANTE - Seria um CHAR(40)

exemplo de como aplicar a funcao substr:

substr(Array_Linha[0],1,20);
substr(Array_Linha[0],21,30);

... acho que vc entendeu, senão, leia sobre as possíbilidade de tratamentos com strings na documentação do PHP, pois com as informações que te passei, são o suficiente para fazero que deseja !

PS - Eu dei apenas a ideia, eu faço assim, só que seria melhor vc entder e fazer, pois não é difícil e sim trabalhoso !!
[]'s

Raphael Vieira
Analista de Sistemas
BONFA-RJ
BONFA-RJ Super Participante Registrado
1.2K Mensagens 0 Curtidas
#7 Por BONFA-RJ
22/01/2004 - 12:27
show!!, showwwwwwwwwww
big_green.png
vc sempre salvando meu dia!!

o esquema q fiz foi esse:


<?
//NOME E SENHA A SER PESQUISADA NA BASE DE DADOS TXT
$pesq_nqua = "Roid´s hunters";
//ARQUIVO TXT A SER PESQUISADO
$arquivo = "dump_qua.txt";
//ABRE O ARQUIVO
$linha = file($arquivo);
//NÚMERO DE ELEMENTOS
$num_linhas = count($linha);
--$num_linhas; // fiz isso pq a primeira linha na verdade é zero... se sao 10 linhas, a ultima linha é 9
//VARRE O ARQUIVO LINHA POR LINHA
for($i = 5; $i <= $num_linhas; $i++) {
$score = trim(substr($linha[$i],0,20));
$mets = trim(substr($linha[$i],20,10));
$rank = trim(substr($linha[$i],30,10));
$set = trim(substr($linha[$i],40,5));
$qua = trim(substr($linha[$i],45,5));
$nqua = trim(substr($linha[$i],50,100));
//VERIFICA SE O NOME EXISTE
if($pesq_nqua == $nqua) {
//SAI DO LOOP
break;
}//FECHA IF
}//FECHA FOR
//VERIFICA O RESULTADO
if($pesq_nqua == $nqua)
echo "O quadrante existe, é o $set".":"."$qua"."!";
else
echo "O quadrante não existe... o ultimo pesquisado foi o $set".":"."$qua"."!";
?>


esse script foi só pra ver a idéia funcionando... depois eu vou adapta-lo, mas ja peguei a ideia principal, vai ser mais tranquilo agora
smile.png

muuuuuuuuito obrigado pessoal!
Igor Brito Alves
[EMAIL="igor.alves@uniriotec.br"]igor.alves@uniriotec.br[/EMAIL]
http://twitter.com/igor.alves
_________________
Bolão
Bolão Super Participante Registrado
1.2K Mensagens 0 Curtidas
#8 Por Bolão
22/01/2004 - 12:47
BONFA-RJ
show!!, showwwwwwwwwww
big_green.png
vc sempre salvando meu dia!!

o esquema q fiz foi esse:

[code]
<?
//NOME E SE...


Good guy !! eh isso ae !

Eu postei o pseudo-código (a lógica), o resto é com vc .. viu como é fácil, só é trabalhoso, pois tem que debugar muito, testar ... ihh nem se fala, teste muiiiiitttoooo, e tratar (as vezes) as exceções que pode ocorrer !!

Bom eh isso ae, fico feliz que vc está indo nesse caminho, ruim é o pessoal chegar aqui querendo coisas prontas ... tipo um tutorial para fazer isso ...

Isso é que nem NESTON: Existem mil maneiras, invente a sua !!

Esse é o mal de muitos, achar que os foruns são uma PANACÉIA !!
[]'s

Raphael Vieira
Analista de Sistemas
BONFA-RJ
BONFA-RJ Super Participante Registrado
1.2K Mensagens 0 Curtidas
#9 Por BONFA-RJ
22/01/2004 - 13:57
mas é claro!
big_green.png
se ficar dando treco pronto a pessoa nunca aprende... vc me deu uma senhora luz e o resto foi mais tranquilo
quando eu postei o codigo aqui no forum tive q tirar os inumeros "echo's" e "print's" q mando pra ver como tá a coisa la no meio do script
:- p
Igor Brito Alves
[EMAIL="igor.alves@uniriotec.br"]igor.alves@uniriotec.br[/EMAIL]
http://twitter.com/igor.alves
_________________
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal