Export and Import Mysql Table [closed]

0

I have a Wordpress plugin, which can be used on many blogs with the same configuration.

I have two tables in it: wp_table_um and wptable_2

How can I create a button to export these tables and a field to import in case of a new installation.

    
asked by anonymous 02.08.2016 / 19:15

1 answer

1

Although the question was a bit vague and made my answer look great, I created a solution.

As you know which table the fields and their attributes are, we will first select the records, create the files and then insert them into the database. I will only create the example with wp_tabela_um then just replicate to other tables.

Create a simple <a href="gerarArquivo.php">criar arquivos</a> button to generate the files.

generateFile.php

// selecionamos os registros

    $quer_wp_tabela_um = mysqli_query($mysqli, "SELECT * FROM wp_tabela_um");

    // cria o arquivo wp_tabela_um

    while($registro = mysqli_fetch_array($quer_wp_tabela_um)){

        // abaixo criamos o arquivo se ele não existir COM DATA
        // o a+ indica que o arquivo é para escrita e leitura

        $arquivo = fopen("arquivos/wp_tabela_um".date("d-m-Y").".txt", "a+");

        // aqui você coloca os campos dos registros

        $campo1 = $registro['id'];
        $campo2 = $registro['nome'];
        $campo3 = $registro['email'];
        $campo4 = $registro['telefone'];

        // string completa com delimitador (;) e quebra de linha \n
        $string = $campo1.";".$campo2.";".$campo3.";".$campo4."\n";

        if ($arquivo) {

            // aqui escreve linha por linha no arquivo
            fwrite($arquivo, $string);

        }

        fclose($arquivo);

    }

Now these files are in the arquivo directory of your site.

With these files we send to a particular database at once with a submission form:

Shipment.php

<form action="importarArquivos.php" method="post" enctype="multipart/form-data">

    <input type="file" name="arquivo"/>
    <input type="submit"/> 

</form>

ImportArchives.php

$arquivos = $_FILES['arquivo'];

    // caminho com o diretório do arquivo
    $file = "arquivos/".$arquivos['name'];

    // salve o arquivo no diretório
    move_uploaded_file($arquivo['tmp_name'], $file);

    // abre o arquivo apenas para leitura
    $arquivo = fopen($file, 'r');

    // vamos ler o arquivo linha por linha e registra-lo

    while(!feof($arquivo)){

        //pega a linha atual
        $linha = fgets($arquivo);

        $registro =  explode(";" , $linha);

        $id = $registro[0];
        $nome = $registro[1];
        $email = $registro[2];
        $telefone = $registro[3];

        //insere o registro
        mysqli_query($mysqli, "INSERT INTO wp_tabela_um (id, nome, email, telefone) VALUES ($id, $nome, $email, $telefone)");

    }

This is just an example! For there are several ways to do

    
03.08.2016 / 16:43