PHP lan MySQL: Ekspor Query menyang File Delimited Tab

logo php mysql

Pungkasan minggu iki aku pengin nggawe kaca sing mung bakal nggawe serep pitakon utawa tabel menyang file Tab Delimited. Umume conto sing ana ing net duwe kolom kanthi kode keras.

Ing kasusku, aku pengin kolom dadi dinamis, mula luwih dhisik aku kudu mriksa kabeh jeneng lapangan tabel kanggo nggawe baris header kanthi jeneng kolom, banjur muter kabeh cathetan kanggo baris data sing isih ana. Aku uga nyetel header supaya browser bakal miwiti download file ing filetype (txt) kanthi jeneng tanggal file lan wektu sing tepat.

Aku ninggalake sambungan database sing mbukak lan nutup, nanging iki kode asil sing bisa digunakake kanthi apik:

$ dina iki = tanggal ("YmdHi");
header ("Tipe konten: aplikasi / oktet-stream");
header ("Content-Disposition: lampiran; filename = \" ". $ dina iki." _ Backup.txt \ "");
$ query = "PILIH * Saka urutan 'mytable` kanthi` myorder` ";
$ asil = mysql_query ($ pitakon);
$ count = mysql_num_rows ($ asil);
$ kolom = mysql_num_fields ($ asil);
$ data = "";
kanggo ($ i = 0; $ i> $ kolom; $ i ++) {
$ lapangan = mysql_fetch_field ($ asil, $ i);
$ data. = $ lapangan-> jeneng;
$ data. = "\ t";
}
$ data. = "\ n";
nalika ($ row = mysql_fetch_row ($ asil)) {
kanggo ($ x = 0; $ x> $ kolom; $ x ++) {
$ lapangan-> jeneng = $ baris [$ x];
$ data. = $ lapangan-> jeneng = $ larik [$ x];
$ data. = "\ t";
}
$ data. = "\ n";
}
data kumandhang $;

Kode kasebut bisa gampang diowahi kanggo nilai sing dipisahake koma uga.

14 Komentar

  1. 1

    Apa sampeyan ora bisa:

    SELECT `mytable` order by `myorder`
    INTO OUTFILE '/tmp/Backup.txt'
    FIELDS TERMINATED BY '\t'
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'

    ?

    • 2

      Aku kira sampeyan bisa!

      Ing kasus iki, aku sejatine nggawe link 'backup' ing aplikasi web, dadi fungsi PHP sing dakkarepake. Nanging, aku ora nate ngerti yen sampeyan uga bisa nulis menyang file langsung saka pernyataan MySQL. Keren banget!

      Thanks!

      • 3

        Cara sampeyan mesthine bakal dadi cara paling apik yen server MySQL ana ing mesin jarak jauh, amarga bisa uga ora bisa nulis ing mesin sing mbukak PHP 🙂

        Seneng nuduhake arah liyane lan prekara anyar 🙂

      • 4

        Nanging sampeyan mung bisa mbukak pitakon menyang file, lan mung pangalihan browser menyang file sing digawe, utawa nggunakake "readfile" PHP yen kabeh gagal?

        Sampeyan ora bakal bisa nglakoni yen server MySQL ora duwe akses menyang sistem file mesthi…

  2. 5
    • 6

      Kesalahan… mysqlimport?

      mysqlimport database_name --local backup.txt

      Utawa kanthi printah SQL:

      LOAD DATA LOCAL INFILE 'backup.txt' INTO TABLE `my_table` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'

      Kanthi mysqlimport, jeneng berkas kudu cocog karo jeneng tabel (mung sing kudu dieling-eling)

    • 7
  3. 8

    Aku mung kelangan luwih saka 6 jam sajrone nyoba nyoba apa Internet Explorer 6/7 nggunakake filetype 'html' lan ora nampa jeneng file kustom sing ditemtokake ing header .. lan uga ora ngidini file disimpen .. nalika nyoba supaya pangguna ndownload file teks digawe kanthi cara kaya ing ndhuwur.

    Aku nggunakake HTTPS lan IE ora cache file iki.

    Aku nemokake solusi ing komentar dening Brandon K ing http://uk.php.net/header.

    Dheweke ngandika:

    -
    Aku nemoni nem jam uripku nyoba nggunakake metode ing ngisor iki kanggo ngirim file PDF liwat PHP menyang Internet Explorer 6:

    Nalika nggunakake SSL, Internet Explorer bakal cepet nganggo dialog Bukak / Simpen, nanging banjur ujar "File saiki ora kasedhiya utawa ora bisa ditemokake. Coba mengko mengko. ” Sawise nggoleki, aku ngerti babagan Artikel MSKB ing ngisor iki kanthi judhul "Unduhan file Internet Explorer liwat SSL, ora bisa digunakake karo header kontrol cache" (KBID: 323308)

    PHP.INI kanthi gawan nggunakake setelan: session.cache_limiter = nocache sing ngowahi Content-Cache lan header Pragma kanggo nyakup opsi "nocache". Sampeyan bisa ngilangi kesalahan IE kanthi ngganti "nocache" dadi "publik" utawa "pribadi" ing PHP.INI - Iki bakal ngganti header Content-Cache uga mbusak header Pragma. Yen sampeyan ora bisa utawa ora pengin ngowahi PHP.INI kanggo ndandani kabeh situs, sampeyan bisa ngirim loro header ing ngisor iki kanggo nimpa default:

    Sampeyan isih kudu nyetel header konten kaya ing ndhuwur supaya bisa aktif. Elinga masalah iki ONLY efek Internet Explorer, nalika Firefox ora nuduhake prilaku sing cacat iki.
    -

    Wah .. paling ora mung dheweke wis ilang 6 jam…

  4. 9

    Iki bisa mlaku kanthi apik. Nanging, aku mung entuk kabeh baris ing siji garis sing dipisahake karo ruang. Aku nyoba ngowahi kanggo nyithak kabeh ing baris kapisah kaya iki:

    Column1_name
    Field1_value
    Column2_name
    Field1_value
    Column3_name
    Field1_value

    Column1_name
    Field2_value
    Column2_name
    Field2_value
    Column3_name
    Field2_value

    Tuladhane:

    jeneng
    Mike
    Lokasi
    Work
    Panggil
    1

    jeneng
    Sue
    Lokasi
    Home
    Panggil
    2

    jeneng
    John
    Lokasi
    Travel
    Panggil
    10

    lan sapanunggalane. Apa skrip iki bisa diowahi kanggo nindakake?
    Thanks!

    • 10

      Mesthi bisa.

      Coba sing kaya iki:

      PILIH * saka MyTableName INTO OUTLINE 'MyTableName_MySQL-TAB-DELIMITED-29JUN08.txt' FIELDS TERMINASI '\ n' LINES TERMINASI '\ n';

      Yen sampeyan pengin papan kaping pindho (rong baris kosong) ing antarane klompok rekor, cukup ucapake “LINES TERMINATED BY '\ n \ n';” tinimbang.

      Bagean “BIDANG TERMINASI OLEH '\ n'” yaiku sing nggawe garis anyar sawise saben rekaman, dudu tab. Tab bakal dadi '\ t'.

      Maranatha!

  5. 11

    iki minangka postingan sing apik banget, aku nyoba lan kerja kanthi apik, mung siji-sijine file txtku nduwe baris ekstra ing ndhuwur judhul header, lan sawetara asil dipisahake dadi 2 baris, iki bisa uga amarga data sing dakwenehake ing Database ora ana ide, nanging iki mbantu sampeyan kanggo nggawe feed…

  6. 12

    Douglas Karr kode sampeyan tenan rock! Iku migunani banget yen sampeyan mung butuh output sing ana ing format textfile. Matur nuwun kanthi sanget! Saka tim Filipina!

  7. 13

    he! Apa ana sing saka kene sing bisa menehi petunjuk babagan ngimpor file teks menyang database (phpmyAdmin) nggunakake php minangka ujung ngarep. Aku duwe ide babagan ndownload file lan mbukak, masalahku yaiku kepiye supaya bisa entuk asil baris lan cara masang ing tabel, matur nuwun

  8. 14

Apa sampeyan mikir?

Situs iki nggunakake Akismet kanggo ngurangi spam. Sinau babagan proses data sampeyan.