[tanya] Membuat menu pencarian tanggal dengan format indo?

Discussion in 'Desain Web dan Programming' started by agung, 12 Nov 2010.

Thread Status:
Not open for further replies.
  1. agung

    agung Beginner 1.0

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    1
    Mau tanya nih, ada yang tau g gimana cara buat menu pencarian tanggal dengan format dd-mm-yyyy? oy ini saya lampirin cuplikan codenya
    Code:
    <form method=POST action=<? echo 'cari.php'?>>
    Cari berdasarkan 
    <select name="cmbcari">
    <option value="id">ID</option>
    <option value="nama">Nama</option>
    <option value="tgl">Tanggal Masuk</option>
    <input type="text" name="cari" />
    <input type="submit" value="Cari"  /></td></tr></form>
    
    <? 
    if (empty($_POST[cari])) {
    $sql  = "select * from view_detailtransaksi order by id ";
    } else {
    $sql   = "SELECT * FROM view_detailtransaksi WHERE ".$_POST[cmbcari]." LIKE '%$_POST[cari]%'";
    }
    $hasil = mysql_query($sql);
    Mohon solusinya bagi para master...
     
  2. dpnux

    dpnux Expert 1.0

    Messages:
    455
    Likes Received:
    28
    Trophy Points:
    28
    aduh mas bahaya banget mas itu.

    buat fungsi

    PHP:
    //multi function numeric dropdown
    function drop_down($name$start$end)
    {
       echo 
    '<select name="$name">';
       for(
    $i $start$i $end$i++) echo '<option value="$i">$i</option>';
       echo 
    '</select>';
    }
    kemudian ambil data berdasarkan nama yang didefiniskan tadi ke dalam query (masih berbahaya)

    PHP:
    $_POST['tahun'].'-'.$_POST['bulan'].'-'.$_POST['tgl']
    querynya butuh dituning

    PHP:
    "SELECT * view_detailtransaksi WHERE tanggal = ' + $_POST['tahun'].'-'.$_POST['bulan'].'-'.$_POST['tgl'] + '"'
    bisa dikembangin lagi sih yah mas.
     
    Last edited: 12 Nov 2010
  3. agung

    agung Beginner 1.0

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    1
    Mhn maaf bisa diterangkan lebih jelas!! Saya msh bingung, udah sy coba tp blm bisa....:77::77::77:
     
  4. dpnux

    dpnux Expert 1.0

    Messages:
    455
    Likes Received:
    28
    Trophy Points:
    28
    yang kode sebelumya itu untuk drop down list doank.

    Hehehe, sori. Saya tidak lihat kalau oom agung mau buat multi search berdasarkan kolom ini, saya sudah bantuin sedikit coba baca logikanya dulu, intinya sih sama cuma pas pencarian selain nama tidak menggunakan LIKE untuk kondisi SQL nya

    mudah2an bisa yaaa :)

    PHP:
    <form method=POST action="cari.php">
        Cari berdasarkan 
        <select name="cmbcari">
        <option value="id">ID</option>
        <option value="nama">Nama</option>
        <option value="tgl">Tanggal Masuk</option>
        <input type="text" name="cari" />
        <input type="submit" value="Cari" />
    </form>

    <?php
    //mengamankan variable - varible dari sql injection
    $column mysql_real_escape_string($_POST['cmbcari']);
    $cari mysql_real_escape_string($_POST['cari']);

    //insialisasi variable query
    $sql  "SELECT * FROM view_detailtransaksi ";

    if ( ! empty(
    $cari)) 
    {    
        
    $sql  .= " WHERE $column ";

        
    //sesuaikan kondisi
        
    if($column == 'nama')
        {
            
    //kalau kolomnya nama
            
    $sql .= "LIKE '%$cari%'";
        }    
        else    
        {
            
    //kalau kolomnya selain nama
            
    $sql .= "= '$cari'";
        }
    }

    //ini terserah mau diapain
    $sql .= " ORDER BY id";

    //tampilkan query yang mau diminta
    echo $sql;

    $hasil mysql_query($sql);
     
  5. agung

    agung Beginner 1.0

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    1
    Trimakasih untuk penjelasanya!!!
    Tp mohon maaf saya msh bingung dibagian ini :
    Code:
    //multi function numeric dropdown
    function drop_down($name, $start, $end)
    {
       echo '<select name="$name">';
       for($i = $start; $i < $end; $i++) echo '<option value="$i">$i</option>';
       echo '</select>';
    }  
    
    kemudian ambil data berdasarkan nama yang didefiniskan tadi ke dalam query (masih berbahaya)
    querynya butuh dituning
    itu di taruh dmn y? Mohon maklumnya sy masih belajar....
     
  6. dpnux

    dpnux Expert 1.0

    Messages:
    455
    Likes Received:
    28
    Trophy Points:
    28
    Sebelumya, contoh reply yang pertama itu karena saya salah baca kebutuhan anda, saya telah revisi dengan yang kedua.

    Kode di atas itu yang drop down kalau misalnya ingin menggunakan drop down list pas cari dengan tanggal. Fungsi drop_down di taruh di bawah skrip php, itu akan membuat drop down list kalau di panggil di skrip.

    PHP:
    drop_down('tgl'131);
    drop_down('bulan'112);
    drop_down('tahun'20002010);
    fungsi drop_down nanti menciptakan kode HTMLnya.

    Pada saat form di kirim ke server kode ini

    PHP:
    $_POST['tahun'].'-'.$_POST['bulan'].'-'.$_POST['tgl']
    untuk mengambil variable dari drop down list tadi.

    Kalau yang kode terakhir JIKA ingin menggunakan dropdown list untuk mencari data pada database berdasarkan tanggal dari database.

    Jadi alurnya:
    • Tambah fungsi dropdown di bawah skrip
    • Gunakan fungsi pada skrip tsb
    • Ambil data melalui $_POST sesuai dengan nama yang ditentukan di drop_down
    • Query ke SQL berdasarkan variable - variable tanggal

    Jika bingung mohon gunakan kode kedua ya.
     
    Last edited: 18 Nov 2010
  7. agung

    agung Beginner 1.0

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    1
    Code:
    <form method=POST action="cari.php"> 
        Cari berdasarkan  
        <select name="cmbcari"> 
        <option value="id">ID</option> 
        <option value="nama">Nama</option> 
        <option value="tgl">Tanggal Masuk</option> 
        <input type="text" name="cari" /> 
        <input type="submit" value="Cari" /> 
    </form> 
    
    <?php 
    //mengamankan variable - varible dari sql injection 
    $column = mysql_real_escape_string($_POST['cmbcari']); 
    $cari = mysql_real_escape_string($_POST['cari']); 
    
    //insialisasi variable query 
    $sql  = "SELECT * FROM view_detailtransaksi "; 
    
    if ( ! empty($cari))  
    {     
        $sql  .= " WHERE $column "; 
    
        //sesuaikan kondisi 
        if($column == 'nama') 
        { 
            //kalau kolomnya nama 
            $sql .= "LIKE '%$cari%'"; 
        }     
        else     
        { 
            //kalau kolomnya selain nama 
            $sql .= "= '$cari'"; 
        } 
    } 
    
    //ini terserah mau diapain 
    $sql .= " ORDER BY id"; 
    
    //tampilkan query yang mau diminta 
    echo $sql; 
    
    $hasil = mysql_query($sql);
    
    code di atas sudah saya coba!!!
    Yang saya tanyakan disini-----
    Bagaiman cara merubah format "yyyy-mm-dd" tanggal dari menu pencarian ke fomat "dd-mm-yyyy"
    mhn bantuanya lagi.....
     
  8. dpnux

    dpnux Expert 1.0

    Messages:
    455
    Likes Received:
    28
    Trophy Points:
    28
    PHP:
    function reverse_date($input$separator)
    {
    $date implode($separatorarray_reverse(explode($separator$input)));
    $new_date array_reverse($date);
    return 
    implode($separator$new_date);
    }
    Kode di atas akan membalik dari dd-mm-yyyy ke yyyy-mm-dd, atau sebaliknya. Di masukan pada saat pencarian selain nama, tambahan untuk kode di atas:

    PHP:
    if($column == 'tgl'$cari reverse_date($cari'-');
    $sql .= "= '$cari'"
     
  9. agung

    agung Beginner 1.0

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    1
    Mhn maaf saya bertanya lagi....
    CODE sudah saya coba!!!
    Tp saya coba ada mslh di :
    Code:
    ........
    $new_date = array_reverse($date);
    return implode($separator, $new_date);
    } 
    
    bunyinya begini :
    Warning: array_reverse() [function.array-reverse]: The argument should be an array in C:\AppServ\.....
    Warning: implode() [function.implode]: Bad arguments. in C:\AppServ\......
    Mhn maaf sy bener2 tidak tau. sudah saya cari reverensi di INET tp blm dpt...
     
  10. dpnux

    dpnux Expert 1.0

    Messages:
    455
    Likes Received:
    28
    Trophy Points:
    28
    Ups ada kode yang lupa saya hapus, ini yang benar. Tadi saya buat one liner tapi saya pecah supaya bisa dipahami. trims.

    PHP:
    function reverse_date($input$separator)
    {
    $date explode($separator$input);
    $new_date array_reverse($date);
    return 
    implode($separator$new_date);
    }  
     
Loading...
Thread Status:
Not open for further replies.

Share This Page

Loading...