Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ask] Sortir database berdasar tanggal n export ke excel

saya lagi coba buat laporan pembayaran yang diambil dr dtabase yg berasal dr web, data yg diambil berdasarkan tanggal pembayaran. Bagaimana cara merancang PHP-nya?adakah contoh scriptnya?

alurnya +/- kya gini : [pencarian berdasar tanggal] --> [mngecek database MySql] --> [export ke excel berdasarkan tanggal / unduh]

mohon bantuannya...

Tanggapan

  • php na mah biasa saja ... seperti yg situ biasa bikin kalo mau bikin grid list / tampilan data table

    yg beda paling query database nya doang
  • Bisa kasih contoh studi kasus nya?? :)
  • lha kasus situ kaya apa ?
    situ bikin tampilan grid list seperti apa ?
    termasuk tampilan grid list berdasar pencarian ...

    berangkatnya dari situ

    solusi pan tergantung kasus
  • Maaf kurang lebih kaya' gini :
    *pingin ambil data (unduh) dgn format excel pake to excel.php,berdasarkan tanggal yg ad d dtbase. yg ada di dtbase
    sebelumnya pake file toexcel.php yg terunduh seluruh data ikut terunduh
     
    *isi tabel kaya' gini --> tabel name di dtbase: anak
    no , nama , tanggal
    1 , adi , 01/12/2012
    2 , beti , 02/12/2012
    3 , cita , 03/12/2012

    file toexcel.php :
    <pre lang="php">
    <?php require_once('../../Connections/konek.php'); ?>
    <?php
    $filename = "anak.xls";

    // nilai awal counter untuk jumlah data yang sukses dan yang gagal diimport
    $sukses = 0;
    $gagal = 0;
    $table = "tb_anak";


    //jumlah kolom
    $jkolom=0;

    //generate kolom
    $q= mysql_query("select * from $table");
    $r=mysql_fetch_assoc($q);
    foreach ($r as $head=>$nilai) {
    $header .=$head." \t"; //print header table
    $jkolom++;
    }
    $header .= "\n";

    //generate baris
    $result= mysql_query("select * from $table");
    while ($row=mysql_fetch_array($result)) {
    for ($x=0; $x<$jkolom; $x++) {
    $content .=$row[$x]." \t ";
    }
    $content .= $row[$x]." \n ";
    }


    $output .= $header.$content;
    header('Content-type:application/ms-excel');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $output;

    ?>
    < /pre>

    mhon sarannya, untuk query harus gimana.?
  • cuma mau tau masalah WHERE doang ?

    http://dev.mysql.com/doc/refman/5.5/en/select.html

    http://www.w3schools.com/php/php_mysql_where.asp

    tinggal tuh tanggal type field nya apa ? date ? varchar ?
    lalu pencariannya model nya kaya apa ?
    apa tahunnya doang ? bulan ?
    atau bagaimana ?
  • tgl pake varchar,
    semua, tgl/bln/tahun, diambil yg tnggal sama
  • sya cobapake ini, dta di dtbase sya isi sama dg tgl di komputer

    $tgl = date('d/m/Y');
    $result= mysql_query("select * from $table where tanggal=$tgl");

    data yg terunduh di excel, hanya header aja (no , nama , tanggal)

    apa g perlu di ubah di script ini
    while ($row=mysql_fetch_array($result)) {
    for ($x=0; $x<$jkolom; $x++) {
    $content .=$row[$x]." \t ";
    }
    $content .= $row[$x]." \n ";
    }
  • edited December 2012
    ... antara ruwet ama kagak :D

    kalo varchar, ribet di pengelolaan tanggalnya,
    misalnya mau ngitung bulan, hari, ubah format ... dsb

    tapi kalo asumsinya string yg diisikan untuk dicari formatnya sudah pasti, misal "02/12/2012"
    cuma tinggal tambah ... WHERE tanggal="02/12/2012" ... di query SELECT na

    kalo diliat query SELECT situ, ada 2
    WHERE nya di SELECT yg kedua, soalnya itu yg baca datanya

    tapi kalo ngomongin alur,
    ni koding kayanya bisa dirombak buat dijadikan lebih baik
  • tp kalo buat ngitung jumlah data per tanggal nantinya bisa nggak kira" ?
    -------------------
    wah, tengkyu... ternyata kurang tanda petik  di
    $result= mysql_query("select * from $table where tanggal=$tgl");

    seharusnya
    $result= mysql_query("select * from $table where tanggal='$tgl' ");


  • edited December 2012
    coba jalankan query ini di db gui yg situ pake :

    SELECT `tanggal`, COUNT(`tanggal`) AS `jumlah_data`
    FROM `tb_anak`
    GROUP BY `tanggal`
  • oops sory tanya lagi, kalo di buat form pencariannya berdasar tgl gmn?
    sya coba kya gini

    <form method="get" action="">
                                <fieldset>
                                <table width="252" height="46" border="0" cellpadding="0" cellspacing="0">
                                  <tr>
                                    <td height="15" colspan="3"><div align="center"><span class="style5">Cari Tanggal</span></div></td>
                                  </tr>
                                  <tr>
                                    <td width="252" height="31"><select name="tgl">
                                      <option value="">-</option>
                                      <option value="01">01</option><option value="02">02</option><optionvalue="03">03</option><option value="04">04</option>
                                    </select></td>
                                    <td width="252" height="31"><select name="bln">
                                      <option value="">-</option>
                                      <option value="01">Jan</option><option value="02">Feb</option><option value="12">Des</option>
                                    </select></td>
                                    <td width="252" height="31"><select name="thn">
                                      <option value="">-</option>
                                      <option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option>
                                    </select></td>
                                  </tr>
                                </table>
                                <p><?php $caritgl = $tgl."/".$bln."/".$thn; ?>
                                </p><input type="text" name="keyword" id="search-text" size="15" value="<?php echo"$caritgl"; ?>" />
                                  <input type="submit" id="search-submit" value="submit" />
                                  <a href="toexcel.php?caritgl=<?php echo $caritgl; ?>

    script to excel.php kya' d postng blasan sbelumya.
    apa yg harus diganti dgn yg ini ???
    $result= mysql_query("select * from $table where tanggal='$tgl' ");
  • maksudnya gimana to ?

    - itu ada form
    - ada 3 pilihan combo utk tanggal ... ok, kagak masalah
    - <?php $caritgl = $tgl."/".$bln."/".$thn; ?> ... ini apa ?
    - input type itu buat apa ? pan tanggal dipilih lewat combo
    - link <a> nya buat apa ?
  • maunya buat form pencarian berdasar tgl

    <?php $caritgl = $tgl."/".$bln."/".$thn; ?> untuk gabungkan variabel, nantinya buat nyocokkan di dtbase (kbetulan frmat tgl pake varchar dd/mm/yyyy)

    trus inginnya nanti begitu di submit, langsung ngarah ke toexcel.php, dlot data berdasar tnggal yg diminta...


  • <?php $caritgl = $tgl."/".$bln."/".$thn; ?>

    value variable $tgl, $bln, $thn dari mana ?
  • diambil dari select opsi <select name="tgl">, <select name="bln">, <select name="thn">


    :-/
  • trus kalo pencarian berdasar pilihan combo ...

    input type text nya buat apa ?
  • nah, itu...sbenarnya ndak perlu. smentara buat pencarian aja. Seharusnya kya' gimana ?
    :)
  • kalo gak perlu ya kagak usah dibikin ...

    kalo pencarian berdasar combo ...

    $caritgl = $tgl."/".$bln."/".$thn; ... sudah dibuat

    $result= mysql_query("select * from $table where tanggal='$tgl' ");

    itu saja disamakan
  • udah pernah dicoba ini $caritgl = $tgl."/".$bln."/".$thn;  --->ada di file utama
    dihubungkan ke
    $result= mysql_query("select * from $table where tanggal='$caritgl' "); --->ada di toexcel.php

    tp belum bisa,
    yg perlu ditambahin apa ya?
  • edited December 2012
    coba di echo dolo sebelum di eksekusi :

    echo "select * from $table where tanggal='$tgl' ";

    yg kecetak apa ?

    btw, itu beda file ?
    ya mana bisa nyambung mas ...
    kalo mau cetak pake filter dengan parameter dari script lain, kirim parameter tsb bersama request

    misal : toexcel.php?tgl=02&bln=02&thn=2012
  • iya deh nanti sya coba dlu..lg dtempat kerja,
    :)
  • Bisa pake session koq
  • astaga ... tret taon 2012 ...

    tolong dibaca sebelum reply.
    masa iya yg nanya masih berkutat di masalah yg sama selama 5 tahun ?
This discussion has been closed.