Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

HELP URGENT ! Pencarian data berdasarkan tanggal php

Saya lagi buat pencarian data berdasarkan range tanggal awal dan akhir.


Script awal : pencarian tanggal dd/mm/yy________________________________________________________________________________________

<?php
session_start();

 if (empty($_SESSION['username']) AND empty($_SESSION['passuser'])){
  echo "<link href='style.css' rel='stylesheet' type='text/css'>
 <center>Untuk mengakses modul, Anda harus login <br>";
  echo "<a href=../../index.php><b>LOGIN</b></a></center>";
}
else{
   echo "<h2>Laporan Surat Keluar</h2>
          <form method=POST action='modul/mod_laporan/keluar.php'>
          <table>
          <tr><td>Dari Tanggal</td><td> : ";        
          combotgl(1,31,'tgl_mulai',$tgl_skrg);
          combonamabln(1,12,'bln_mulai',$bln_sekarang);
          combothn(2000,$thn_sekarang,'thn_mulai',$thn_sekarang);
          

    echo "</td></tr>
          <tr><td>s/d Tanggal</td><td> : ";
          combotgl(1,31,'tgl_selesai',$tgl_skrg);
          combonamabln(1,12,'bln_selesai',$bln_sekarang);
          combothn(2000,$thn_sekarang,'thn_selesai',$thn_sekarang);

    echo "</td></tr>
          <tr><td colspan=2><input type=submit class=tombol value=Proses>
          <input type=button class=tombol value=Batal onclick=self.history.back()></td></tr>
          </table>
          </form>";
}
?>
___________________________________________________________________________________________________________________________

Script di kirim ke modul/mod_laporan/keluar.php isinya :

<?php
error_reporting(0);

include ('class.ezpdf.php');
 
$pdf = new Cezpdf();
 
// Set margin dan font
$pdf->ezSetCmMargins(3, 3, 3, 3);
$pdf->selectFont('fonts/Courier.afm');

$all = $pdf->openObject();

// Tampilkan logo
$pdf->setStrokeColor(0, 0, 0, 1);
$pdf->addJpegFromFile('logo.jpg',20,800,69);

// Teks di tengah atas untuk judul header
$pdf->addText(220, 820, 16,'<b>Laporan</b>');
$pdf->addText(200, 800, 14,'<b>Surat Keluar</b>');
// Garis atas untuk header
$pdf->line(10, 795, 578, 795);

// Garis bawah untuk footer
$pdf->line(10, 50, 578, 50);
// Teks kiri bawah
$pdf->addText(30,34,8,'Dicetak tgl:' . date( 'd-m-Y, H:i:s'));

$pdf->closeObject();

// Tampilkan object di semua halaman
$pdf->addObject($all, 'all');

// Baca input tanggal yang dikirimkan user
$mulai=$_POST[thn_mulai].'-'.$_POST[bln_mulai].'-'.$_POST[tgl_mulai];
$selesai=$_POST[thn_selesai].'-'.$_POST[bln_selesai].'-'.$_POST[tgl_selesai];

// Koneksi ke database dan tampilkan datanya
include "koneksi.php";

// Query untuk di filter berdasarkan tanggal
$sql = mysql_query("select * from surat_keluar where tgl_posting BETWEEN '$mulai' AND '$selesai')");
$jml = mysql_num_rows($sql);

if ($jml > 1){
$i = 1;
while($r = mysql_fetch_array($sql)){
  $data[$i]=array('<b>No</b>'=>$i,
                  '<b>Judul</b>'=>$r[judul],
                  '<b>Tanggal</b>'=>$r[tgl_posting],
                  '<b>Nama_file</b>'=>$r[nama_file],
                  '<b>Pembuat</b>'=>$r[pembuat],
                  '<b>lampiran</b>'=>$r[lampiran],
                  '<b>Deskripsi</b>'=>$r[deskripsi]);
   
  $i++;
}

$pdf->ezTable($data, '', '', '');


// Penomoran halaman
$pdf->ezStartPageNumbers(320, 15, 8);
$pdf->ezStream();
}
else{
  $m=$_POST[tgl_mulai].'-'.$_POST[bln_mulai].'-'.$_POST[thn_mulai];
  $s=$_POST[tgl_selesai].'-'.$_POST[bln_selesai].'-'.$_POST[thn_selesai];
  echo "Tidak ada data surat pada Tanggal $m s/d $s";
}
?>
______________________________________________________________________________________________________________________

yang jadi pertanyaan setiap saya masukan tanggal awal dan akhir lalu di proses yang keluar "Tidak ada data surat yang tampil pada tanggal xxx dan xxx".

mohon bantuannya... dan koreksinya para suhu..

Comments

  • format tgl_posting di database kamu apa? Pake date, datetime ato yg lainnya?
    Trus value dari
    :
    combotgl(..);combonamabln(..);combothn(); saat kamu submit formatnya jadi kayak gimana?
    apa sama format value dari hasil submit dengan format yang di database?
  • format tanggal_posting y-m-d untuk type pakai date.

    format yang di cari di tanggal d-m-y apa harus dirubah dulu ke DATE_FORMAT(tgl_posting, '%d-%m-%Y')
    ? saya sudah coba rubah ke query diatas tapi tetap datanya tidak ada yang muncul.


    aga bingun juga nih dari kemarin cari2 solusi, mungkin code yang saya pakai ada yang salah ?
  • Lah iya,
    format dengan di database dengan format value tanggal submit harus sama:

    Hasil value submit harus Y-m-d juga... kalo gak gitu kan datanya di anggap gak valid...

    Untuk mengubah value tanggal submit bisa pake fungsi explode(...) atau fungsi substr(...)
  • edited January 2014
    pencarian format d-m-y ?

    semisal ...

    batas yg dicari : "13-12-2012" s/d "12-12-2013"
    DATE_FORMAT() pake d-m-y

    data semisal ada 2, tertanggal :
    2013-10-01 -> 01-10-2012
    2013-11-30 -> 30-11-2012

    letak tanggal tsb kalo di urut pake format d-m-y

    01-10-2013
    12-12-2013
    13-12-2012

    30-11-2013

    kagak ada data yg terletak di antara batas yg dicari ...

    itu pun masih ketambah salah batas karena "12-12-2013" diperlakukan lebih kecil dari "13-12-2012"



    kagak percaya ?

    CREATE TABLE `tgl` (
      `tgl` date DEFAULT NULL
    ) ENGINE=MyISAM;

    INSERT INTO `tgl`(`tgl`) VALUES ('2013-05-11');
    INSERT INTO `tgl`(`tgl`) VALUES ('2013-06-30');
    INSERT INTO `tgl`(`tgl`) VALUES ('2013-06-06');
    INSERT INTO `tgl`(`tgl`) VALUES ('2012-01-01');
    INSERT INTO `tgl`(`tgl`) VALUES ('2012-10-30');
    INSERT INTO `tgl`(`tgl`) VALUES ('2013-12-12');
    INSERT INTO `tgl`(`tgl`) VALUES ('2012-12-13');

    SELECT tgl,DATE_FORMAT(tgl,"%d-%m-%Y") AS dmy
    FROM tgl
    ORDER BY DATE_FORMAT(tgl,"%d-%m-%Y") ASC;

    lihat hasil sorting nya ...

    SELECT tgl,DATE_FORMAT(tgl,"%d-%m-%Y") AS dmy FROM tgl
    WHERE DATE_FORMAT(tgl,"%d-%m-%Y") BETWEEN "13-12-2012" AND "12-12-2013";

    SELECT tgl,DATE_FORMAT(tgl,"%d-%m-%Y") AS dmy FROM tgl
    WHERE DATE_FORMAT(tgl,"%d-%m-%Y") BETWEEN "13-12-2012" AND "13-12-2013";



    pencarian tetep pake format y-m-d
    kagak usah diubah jadi d-m-y, karena hasilnya pasti salah
  • saya juga sama, tidak keluar datanya yang dicari....:( :(
    :((
  • lha pan sudah ditulis ...
    pencarian tetep pake format y-m-d
    kagak usah diubah jadi d-m-y, karena hasilnya pasti salah
Sign In or Register to comment.