Jump to content


Photo

Backup !


  • Faça o login para participar
10 replies to this topic

#1 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2004, 10:16

Aê galera .... tipo fiz um sisteminha de backup, está ate funcionando porem não está correto, já refiz + não consegui arrumar meu proprio script :lol: :P bom o negocio e o seguinte

fiz este scritp de backup ( só vou colocar a parte que gera um arquivo ! )
<center>
<form action="backup.php?acao=final" method="POST">
 <font face="verdana" size=2 color="black"><b>
  Selecione uma Tabela abaixo para poder fazer o Backup
 <br><br>
  Tabela : <select name="tabela" style="font-family: Verdana; font-size: 8 pt; border: 1px solid black">
<?
$result = mysql_list_tables($dbname) or die (mysql_error());
while ($row = mysql_fetch_row($result)) {
echo "<option value=$row[0]>$row[0]</option>";
}
?>
           </select>
  <input type="submit" value="Backup" style="font-family: Verdana; font-size: 8 pt; font-weight: bold; border: 2px solid black">
 </b></font>
 </form>
</center>
<?
}
if ($acao == "final") {

$tabela = $_POST["tabela"];

$sql = @mysql_query("SELECT * FROM $tabela");
$sql1 = mysql_list_fields($dbname, $tabela);
$sql2 = mysql_num_fields($sql1);
$total = @mysql_num_rows($sql);

for($x=0;$x<=$total;$x++) {
if ($x == $total) {
echo "<center><b><font face=verdana size=2 color=red>Backup Concluido</font><br><br>";
echo "<font face=verdana size=2 color=black><- <a href=backup.php>Voltar</a></b></center>";
} else {
$dados = @mysql_fetch_array($sql);
for ($i = 0; $i < $sql2; $i++) {
$backup .= $dados[$i]."|";
}
$backup .= "\r\n";
$arquivo = $tabela.".txt";
$abrir = fopen($arquivo, "a+");
$grava = fwrite($abrir, $backup);
@fclose($abrir);
      }
    }
  }

bom eu tenho no meu Banco de dados armazenado 4 registros e quando fui fazer o teste ele gerou o arquivo + com os nomes duplicados

exemplo de como foi gerado o arquivo

1 - nome
1 - nome
2 - idade
1 - nome
2 - idade
3 - sexo
1 - nome
2 - idade
3 - sexo
4 - cidade

em si só era pra ter gravado assim

1 - nome
2 - idade
3 - sexo
4 - cidade

( obs : eu coloquei issu ae em cima só como exemplo + o certo mesmo e assim )

1 - eu|tata|titi|seila|etc
1 - eu|tata|titi|seila|etc
2 - ca|jaja|eueu|cade|morreu
1 - eu|tata|titi|seila|etc
2 - ca|jaja|eueu|cade|morreu
3 - putz|jaera|opa|meudeus|ola
1 - eu|tata|titi|seila|etc
2 - ca|jaja|eueu|cade|morreu
3 - putz|jaera|opa|meudeus|ola
4 - ga|mulhegada|sexo|maternidade|baba

tipo e o certo que tem que sair

1 - eu|tata|titi|seila|etc
2 - ca|jaja|eueu|cade|morreu
3 - putz|jaera|opa|meudeus|ola
4 - ga|mulhegada|sexo|maternidade|baba

entendes ?

Obrigado desde já !

flw (y) !!!
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#2 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 27/02/2004, 11:17

Olá,

for($x=0;$x<=$total;$x++) {
if ($x == $total) {
echo "<center><b><font face=verdana size=2 color=red>Backup Concluido</font><br><br>";
echo "<font face=verdana size=2 color=black><- <a href=backup.php>Voltar</a></b></center>";
} else {
$dados = @mysql_fetch_array($sql);
for ($i = 0; $i < $sql2; $i++) {
$backup .= $dados[$i]."|";
}
$backup .= "\r\n";
$arquivo = $tabela.".txt";
$abrir = fopen($arquivo, "a+");
$grava = fwrite($abrir, $backup);
@fclose($abrir);
    }
  }
}


Vamos reescrever:


while ($dados = mysql_fetch_array($sql,MYSQL_NUM))
{

      for ($i=0;$i<=$sql2;$i++)
      {
          $backup .= $dados[$i]."|";
      }
      
      $backup .= "\r\n";

}

$arquivo = $tabela.".txt";

$abrir = fopen($arquivo, "a+");

$grava = fwrite($abrir, $backup);

fclose($abrir);


Naum testei....mas tentaew...depois vc me fala!
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#3 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2004, 11:24

vlw fly2k , + num serve... nem cheguei a testar..pois você tirou bastante coisa que o script precisaria ! tipo esse script pega todos os db, + todas as tabelas da quele DB que o carinha selecionar e depois pega todos os campos de uma tabela que o carinha selecionou !

+ vlw !
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#4 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 27/02/2004, 11:37

na verdade goku....ali eu peço pra vc substituir soh o laço for e naum todo o script!

Entendeu?
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#5 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2004, 11:51

ehehe eu entendi . + mesmo assim não ira funcionar pois eu já tinha usado ! usando o For ou While praticamente da na mesma :P !

flw (y) !!!
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#6 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 27/02/2004, 11:54

só me diga o poruqe naum funciona? o que acontece que naum funcionará?
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#7 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 27/02/2004, 11:56

da na mesma... ficou a mesma coisa
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#8 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 28/02/2004, 01:26

me desculpe por colocar um outro topico por baixo do que eu coloquei...

+ e que alguem ae pode me ajudar ?
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#9 Sabaote

Sabaote

    12 Horas

  • Usuários
  • 163 posts
  • Sexo:Não informado
  • Localidade:Ribeirão Preto
  • Interesses:PHP/MySQL/CGi/Inglês/Fireworks/Photoshop/Corel

Posted 28/02/2004, 04:33

tenta usar assim...
$backup = $dados[$i]."|";

substitui essa linha lá e testa... falows.. posta ae o resultado

_sABAOTE - _mATEUS
WebDeveloper Php

HostPower - O Poder da Tecnologia em Suas Mãos!
Inglês, Php, MySQL, CGi, Html, Fireworks, Corel, Photoshop
___Conhecimentos___

E-mail ::
mateus@hostpower.com.br
Icq :: 171106451
Site ::
buscalivre.com.br

#10 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 28/02/2004, 10:59

tipo Sabonete .. se eu tirar o PONTO . , depois como eu vou inserir o segundo e assim por diante no arquivo TXT ? e que eu num sei quantas tabelas e nem quantos campos tem em tal tabela ai eu tou usando pra pegar o total de todas as tabelas ai eu seleciona uma tabela e depois eu verifico quantos campos tem essa tabela ! ai eu vou incluindo campo a campo no arquivo TXT !

+ vou la testar !

flw (y) !
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#11 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 02/03/2004, 09:55

tipo se eu exibir os dados dentro do segundo FOR exibi normal + o problema e quando eu jogo os dados de cada campo separado por | dentro de algum variavel

$backup = $dados[$i]."|"; // aqui que da erro

echo $dados[$i]."|"; // exibe normal os dados !

alguem pode me ajudar ?

Edição feita por: Goku Jr, 02/03/2004, 10:34.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq