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

seleksi data kembar pada database

Selamat sore para pakar, saya ingin tanya pada para pakar bagaimana cara proses penyimpanan jika ada masalah seperti ini :
ada id = 60 60 70 --> pada database
pertanyaannya bagaimana id2 ini bisa di kasih penomoran otomatis yang di proses saat dalam penyimpanan ke database ?

jadi,
id | No otomatis
60 | 1
60 | 1
70 | 2

Terima kasih atas bantuannya sebelumnya..saya masih newbi..mohon maaf jika ada kata yang tidak di pahami.
«1

Comments

  • edited May 17
    nomer nya hanya muncul di tampilan ?
    atau mau disimpan juga di database ?

    kalo di simpan di database, resikonya :
    - nomer bisa lompat kalo ada data yg dihapus
    - nomer bisa ndak urut sesuai urutan ID kalo semisal maunya urut ascending / descending by ID

    masalah yg nomer 2 itu muncul karena ID nya ndak unik

    kalo cuma muncul di tampilan, ndak harus disimpan di db
    ndak beda dgn penomeran baris biasa
    cuma ada IF nya
  • edited May 18
    nonya c tersimpan ke database pak,
    yang nantinya akan di tampilkan jg nonya..
    untuk data nya c tidak ada yang di hapus pak laba-laba, untuk proses ini sudah melewati beberapa proses..tp saya kebingungan untuk tahapan ini.
    untuk id ini saya panggil kembali dari data base, sehingga id muncul dan di pilih melalui cekbox,..
    untuk sebelumnya saya memang sudah berhasil membuat penomoran ini..
    hanya masih belum tepat karena no yang saya dapatkan jadi berurutan.

    contoh yang saya dapatkan sebelumnya:
    id | No otomatis
    60 | 1
    60 | 2
    70 | 3

    harusnya seperti yang saya contohkan sebelumnya,
    id | No otomatis
    60 | 1
    60 | 1
    70 | 2

    nah itu yg saya bingung pak, karena bagaimana cara nya membuat kondisi id atas dan id dbawahnya bs di cek, jika id atas dan id setelahnya sama maka no sama, jika id atas dan id setelahnya berbeda maka no bertambah 1..

    saya ucapakan terima kasih ya pak, untuk bantuannya dan infonya kepada saya.
  • id itu bisa kembar, asal muasal datanya bagaimana ?
    ada relasi ke table lain pake id itu ?
  • edited May 18
    Hehehe, iya pak..
    jadi gini maklum pemula..
    id yang saya contohkan td it bukan id utama..

    saya bikin beberapa tabel

    tbl angkutan
    id_pa | nama_pa
    50 | pa. andi
    51 | pa. joko
    52 | pa. budi
    ....

    tbl transaksi angkutan
    id_tx | id_pa | nama_pa
    60 | 50 | pa. andi
    61 | 51 | pa. joko
    62 | 52 | pa. budi
    ....
    70 I 50 | pa. andi

    tbl pembayaran
    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | blm setor |
    61 | 60 | 50 | 300.000 | blm setor |
    62 | 61 | 51 | 500.000 | blm setor |
    ....
    80 | 70 | 50 | 500.000 | blm setor |

    tbl grand total
    id_gd | id_tx | id_pa | total
    60 | 60 | 50 | 800.000
    61 | 61 | 51 | 500.000
    ....
    70 | 70 | 50 | 500.000

    tbl pembayaran di panggil dengan kriteria status pph 23 = "blm setor" dan id_pa ="50"
    muculah form dengan perintah sql seperti di bawah ini,

    id_pem | id_tx | status pph 23 | no pjk |
    60 | 60 | blm setor | ? |
    61 | 60 | blm setor | ? |
    80 | 70 | blm setor | ? |

    dan melalui chekbox saya mengupdate nilai status pph 23 di tabel pembayaran dari status "blm setor" menjadi "sdh setor" kemudian no pajak ini otomatis terupdate + 1 jika id_tx bawahnya beda sedangkan jika id_tx sama nopjk ya sama. ya contohnya jd,

    tbl pembayaran
    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | sdh setor | 1
    61 | 60 | 50 | 300.000 | sdh setor | 1
    62 | 61 | 51 | 500.000 | blm setor |
    ....
    80 | 70 | 50 | 500.000 | sdh setor | 2


    ini hanya gambaran kasarnya pak,..
  • edited May 18
    ya nomor nya jangan dilekatkan ke tbl pembayaran,
    tapi lekatkan ke table tbl transaksi angkutan

    karena di table tbl transaksi angkutan id_tx nya unik



    atau elo bisa bikin konsep lain ...
    itu nomor masuk pake proses INSERT atau UPDATE ?
  • edited May 18
    ya itu di tbl pembayaran pak,..jd, dari tabel nanti dapat di cari berdasarkan no pajak jg..
    no pjk = 1 terdiri dari 2 data
  • itu baca ulang reply gw
  • untuk no pjk ini saya masukan dengan proses update pak..hehehe..program ini juga terdiri dari data pjk dan bkn pjk pak. jd saya tidak bisa melekatkan ke table transaksi angkutan. jd ya terpaksa harus di pilih berdasarkan kondisi if..hanya logika saya yang belum sampai.
  • penomeran elo kan urut berdasar id_tx ?
    prosesnya juga proses UPDATE

    kenapa ndak bisa nempel di tbl transaksi angkutan ?

    nempel di tbl transaksi angkutan juga belum berarti field nomor harus ada isinya
    elo tetap bisa isi field itu berdasarkan kondisi IF yg elo mau

    dan elo juga tau kenapa mestinya nempelnya di tbl transaksi angkutan
    karena di tbl transaksi angkutan itu id_tx nya unik



    pertanyaannya jadi ...
    apa ada data di tbl pembayaran, yg id_tx nya sama, tapi nomor nya beda ?
  • edited May 18
    @oddz

    Sesuai dengan pertanyaanmu, maka:


    select idtx, no_pajak from table x where idtx = id_tx_baru;

    if hasil > 0 {

    a = no_pajak

    inset intp table x (idx,noPajak) values (id_tx_baru,a)

    } else {

    select max(no_pajak) from table x

    b=max_no_pajak + 1

    inset intp table x (idx,noPajak) values (id_tx_baru,b)

    }
  • sebelumnya terimakasih untuk jawaban dari pak laba2 dan pak Christoph Manao, untuk pak laba2 jawabnnya tidak ada.

    memang benar untuk penomoran cara mudahnya tinggal memberikan field lagi di tabel yang mempunyai id unik seperti table grand total mungkin, tetapi di sini program sudah berjalan cukup lama dan ada permintaan dari rekan saya untuk penambahan no pajak, yang selama ini no pajak di lihat dari buku manual (bulan kemaren sudah sampai pelaporan no berapa di buku trus d lanjut lagi untuk penulisan sptnya).

    nah, dari permasalahan itu saya mencoba menyanggupi untuk memberikan nopjk yang saya tambahkan di table pembayaran. untuk permasalahan berikutnya adalah di mana setiap pph dari pembayaran angkutan ini dipilah kembali berdasarkan pa angkutan dan dipilih mana nominal pph yang akan diinput kedalam spt bulan, makanya dari pertanyaan pak laba2 "id itu bisa kembar, asal muasal datanya bagaimana ?ada relasi ke table lain pake id itu ?"

    saya menjelaskan dan memberikan gambaran bahwa,

    tbl pembayaran di panggil dengan kriteria status pph 23 = "blm setor" dan id_pa ="50"
    muculah form dengan perintah sql seperti di bawah ini,

    id_pem | id_tx | status pph 23 | no pjk |
    60 | 60 | blm setor | ? |
    61 | 60 | blm setor | ? |
    80 | 70 | blm setor | ? |

    dan melalui chekbox saya mengupdate nilai status pph 23 di tabel pembayaran dari status "blm setor" menjadi "sdh setor" kemudian no pajak ini otomatis terupdate + 1 jika id_tx bawahnya beda sedangkan jika id_tx sama nopjk ya sama.
    ini sedikit kodingan ecek2 saya pada proses pengupdatetan status pph23 dari blm setor menjadi sdh setor.

    $jumlah = count($_POST['status']);
    $addnopjk = 0;

    for($i=0; $i < $jumlah; $i++)
    {
    $kode = $_POST["status"][$i];
    $id_temp = $_POST["id_tx"][$i];
    $tes = "select nopjk from pembayaran order by nopjk desc limit 1";
    $dtbs = mysql_query($tes) or die("Query gagal");

    while($hsldtbs = mysql_fetch_array($dtbs))
    { $no_pjk = $hsldtbs["nopjk"]; }

    $testing = "select id_tx from tx_pa ";
    $dt_base = mysql_query($testing) or die("Query gagal");

    while($hsl_dtbase = mysql_fetch_array($dt_base))
    { $id_tempnm = $hsl_dtbase["id_tx"]; }

    $data = array($id_temp);
    foreach($data as $value) {
    if(@$data[$value+1]['id_tx'] != $id_tempnm)
    { $addnopjk = $no_pjk + 1; }

    }
    $sql = "update pembayaran set status_setorpjk = 'Telah di Setor, nopjk = '$addnopjk' WHERE id_pem ='$kode'";
    $q = mysql_query($sql) or die (mysql_error());
    }
    if ($q)
    {
    //ini ada kondisi balik ke tampilan form = id_pa
    }
    else
    {
    echo"Data Gagal Disimpan";
    }

    jangan ngakak ya pak laba2 liat koding ecek2 saya..koding dia atas ini jika saya pilih cek box data yang mau disetor itu penomoran otomatis bertambah 1 tanpa memperdulikan id_tx ada yang sama ato tidak, begitu pak.

    untuk pak Christoph Manao, terima kasih untuk jawabnnya tapi program ini berjalan saat proses update data.
  • edited May 19
    update bagaimana ? maaf saya tidak membaca semua postinganmu, cukup pokok permasalahanmu saja. bukankah pertanyaanmu, seprti ini:

    jika id_tx sudah ada di db, maka no_pajak harus sama dengan.

    jika id_tx belum ada di db, maka no_pajak tambah 1

    atau bagaimana ?

    saya tambahkan

    proses pertama:

    perubahan status 'blum setor' ke 'setor' action ---> update

    proses kedua:

    no_pajak ---> action: insert, soalnya klo update angka 60 (ip_tx) tidak mungkin lebih dari 1.
  • $jumlah = count($_POST['status']); $addnopjk = 0; for($i=0; $i < $jumlah; $i++) { $kode = $_POST["status"][$i]; $id_temp = $_POST["id_tx"][$i]; $tes = "select nopjk from pembayaran order by nopjk desc limit 1"; $dtbs = mysql_query($tes) or die("Query gagal"); while($hsldtbs = mysql_fetch_array($dtbs)) { $no_pjk = $hsldtbs["nopjk"]; } $testing = "select id_tx from tx_pa "; $dt_base = mysql_query($testing) or die("Query gagal"); while($hsl_dtbase = mysql_fetch_array($dt_base)) { $id_tempnm = $hsl_dtbase["id_tx"]; } $data = array($id_temp); foreach($data as $value) { if(@$data[$value+1]['id_tx'] != $id_tempnm) { $addnopjk = $no_pjk + 1; } } $sql = "update pembayaran set status_setorpjk = 'Telah di Setor, nopjk = '$addnopjk' WHERE id_pem ='$kode'"; $q = mysql_query($sql) or die (mysql_error()); } if ($q) { //ini ada kondisi balik ke tampilan form = id_pa } else { echo"Data Gagal Disimpan"; }
  • edited May 19
    seperti di atas pak Christoph Manao.. :) jadi penomoran pjk ini tdk bsa sma dengan id pd table table karena data yang di input tidak hanya data pajak tetapi ada inputan yang bukan pjk juga pak. jd harus pakai kondisi = "pajak" dan setelah terpilih di pilih lagi berdasarkan status = "blm setor" dan di tampilkan untuk di ceklis dengan cecbox yang mana inputan data yang di ceklis di masukan kedalam wadah "status" dan di itung berapa yg di ceklis trus di update statusnya dan ada penomoran ke nopjk dan nopjk di lihat dari nopjk sebelumnya "nopjk desc limit 1"

    semoga nda tambah pusing ya pak..
  • terima kasih pak, tapi jika action insert maka ada row tambahan donk pak, padahal kan rownnya sdh terisi seperti contoh ini

    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | blm setor | ?
    61 | 60 | 50 | 300.000 | blm setor | ?
    62 | 61 | 51 | 500.000 | blm setor | ?
    ....
    80 | 70 | 50 | 500.000 | blm setor | ?

    klo di insert maka tampilannya jd
    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | sdh setor | 1
    | | | | sdh setor | 2
    61 | 60 | 50 | 300.000 | sdh setor | 3
    | | | | sdh setor | 4
    62 | 61 | 51 | 500.000 | blm setor | ?
    ....
    80 | 70 | 50 | 500.000 | blm setor | ?
    | | | | sdh setor | 5
  • edited May 19
    skripmu yag kamu buat di atas apa sudah jalan dan sudah sesuai dengan keinginanmu?

    soalnya di skripmu,

    1. semua proses setelah

    while($hsldtbs = mysql_fetch_array($dtbs))
    { $no_pjk = $hsldtbs["nopjk"]; }

    seharusnya ikut masuk ke dalam perulangan.

    2. kondisi klo id_tx tidak sama belum kamu set.
  • edited May 19
    [1]
    yg dihadapi user kan aplikasi nya, bukan db nya
    jadi ndak masalah kalo nomor ditempelkan di tbl transaksi angkutan

    ini gw ngomong ditempel di tbl transaksi angkutan bukan cuma sekedar gampang atau enggak nya
    tapi juga dgn pertimbangan beban yg ditanggung database
    yg efeknya bisa mempengaruhi lama eksekusi aplikasi



    [2]
    koding elo, jujur, gw bingung baca alur logika nya ...
    tapi ntar aja, drpd benerin 1-1, mending bongkar sekalian

    elo posting aja <form> / koding elo buat bikin <form>
    yg ada checkbox yg elo maksud
    jadi gw bisa baca cara inputnya kaya apa
  • sudah pak, sudah jalan hanya saja yang belm nopjk aja it pak. no pajak bertambah 1 sesuai data yang saya ceklis tanpa melihat id_tx sama atau tidak pak..saya hanya bingung bagaimana kondisi yang membandingkan jika saat di ceklis no bertamabah 1.

    ok pak laba2.. :)
  • oodz said:

    terima kasih pak, tapi jika action insert maka ada row tambahan donk pak, padahal kan rownnya sdh terisi seperti contoh ini

    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | blm setor | ?
    61 | 60 | 50 | 300.000 | blm setor | ?
    62 | 61 | 51 | 500.000 | blm setor | ?
    ....
    80 | 70 | 50 | 500.000 | blm setor | ?

    klo di insert maka tampilannya jd
    id_pem | id_tx | id_pa | nominal | status pph 23 | no pjk
    60 | 60 | 50 | 500.000 | sdh setor | 1
    | | | | sdh setor | 2
    61 | 60 | 50 | 300.000 | sdh setor | 3
    | | | | sdh setor | 4
    62 | 61 | 51 | 500.000 | blm setor | ?
    ....
    80 | 70 | 50 | 500.000 | blm setor | ?
    | | | | sdh setor | 5


    makanya diset dikondisi jika id_tx sama maka no_pajak juga harus sama.

    selebihnya ya.. ditambah 1
  • lah itu pak..saya bingung ngasih kondisinya membandingkan id_tx atas ma id_tx bawah..
  • id_tx asal datanya dari mana ?
  • edited May 19
    elo baca ini :
    http://www.diskusiweb.com/discussion/50487/update-field-pada-database-gagal-menggunakan-checkbox

    lalu poin ini :
    labalaba said:

    [4]
    ... ini gw men-simulasi-kan form elo jadinya kaya apa ...

    <pre><?php print_r($_POST); ?></pre>

    <form class='w3-small' method='POST'>
    <table>
    <tr>
    <td colspan='4'><b><u>NO TABUNG DITERIMA</b></u></td>
    </tr>
    <tr>
    <td width='240px' colspan='4'>
    <input type='checkbox' name='kembali[]' value='2'>
    <input type='text' size='4' name='tabung[]' value='13' required>
    <input type='hidden' size='4' name='id_po[]' value='1' required>
    </td>
    </tr>
    <tr>
    <td width='240px' colspan='4'>
    <input type='checkbox' name='kembali[]' value='2'>
    <input type='text' size='4' name='tabung[]' value='36' required>
    <input type='hidden' size='4' name='id_po[]' value='2' required>
    </td>
    </tr>
    <tr>
    <td width='240px' colspan='4'>
    <input type='checkbox' name='kembali[]' value='2'>
    <input type='text' size='4' name='tabung[]' value='700' required>
    <input type='hidden' size='4' name='id_po[]' value='3' required>
    </td>
    </tr>
    <tr>
    <td colspan='4'> </u></td>
    </tr>
    <tr>
    <td colspan='3'><button type='submit' name='submit' value='next' class='w3-btn'><i class='fa fa-save'></i> Simpan</button></td>
    </tr>
    </table>
    </form>
    coba elo simpan jadi file php sembarang, lalu coba elo panggil ...
    itu kalo elo check pilihan ke-3 (700) & elo ganti nilai 700 => 800
    lalu elo submit ...

    isi $_POST yg elo terima sudah muncul ...
    Array
    (
    [tabung] => Array
    (
    [0] => 13
    [1] => 36
    [2] => 800
    )

    [id_po] => Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )

    [kembali] => Array
    (
    [0] => 2
    )

    [submit] => next
    )
    'kembali' cuma ada 1 elemen, karena yg elo check emang cuma 1

    dan karena elo pake name="...[]"
    index nya pasti mulai dari 0
    biarpun yg elo check pilihan ke-3, tetep dapatnya index 0

    otomatis kalo pake UPDATE model elo, ya yg sama-sama index 0 itu
    tabung[0] = 13
    id_po[0] = 1
    kembali[0] = 2

    perintah UPDATE elo kalo diurut jadi nya :
    UPDATE po_tb SET kembali='2', no_tb='13' WHERE id='1'
    UPDATE po_tb SET kembali='', no_tb='36' WHERE id='2'
    UPDATE po_tb SET kembali='', no_tb='800' WHERE id='3'

    coba lewat phpmyadmin elo ganti salah satu field 'kembali'-nya data nomor 2 atau 3
    jadikan 100 atau berapa saja terserah

    lalu coba elo jalankan koding elo sendiri ...
    yg semula elo ubah nilainya, pasti balik semua jadi 0
    karena ini : SET kembali=''


    itu loop juga pake for, pake checkbox juga
    bl1nk5 said:

    //variable input

    $kembali= $_POST['kembali'];
    $id_po= $_POST['id_po'];
    $tabung=$_POST['tabung'];

    $count = count($tabung);

    for( $i=0; $i <= $count; $i++ )
    {
    $isi=mysql_query("UPDATE po_tb SET kembali='$kembali[$i]', no_tb='$tabung[$i]' WHERE id='$id_po[$i]'");
    }
    tapi gagal update ... salah update malah ...

    gw baca struktur yg sama di koding elo, pake checkbox juga
    oodz said:

    $jumlah = count($_POST['status']);
    $addnopjk = 0;

    for($i=0; $i < $jumlah; $i++)
    {
    ...
    ...
    $sql = "update pembayaran set status_setorpjk = 'Telah di Setor, nopjk = '$addnopjk' WHERE id_pem ='$kode'";
    $q = mysql_query($sql) or die (mysql_error());
    ...
    ...
    }

    gw curiga koding elo juga bakal mengalami masalah yg sama

    jadi ... <form> elo posting kemari
  • edited May 19
    lagi nyari caranya pak...maklum baru x ni diskusi..
  • kalo bingung posting kode, posting aja kode nya di pastebin.com
    lalu posting kemari url nya
  • edited May 19
    oo urlnya...oke2..
  • edited May 19
    [1]
    select * from angkutan where jnspjk like 2 order by nama ASC

    lebih baik
    select * from angkutan where jnspjk=2 order by nama ASC



    [2]
    itu form yg pertama, yg pake <select>

    kalo niatnya ganti pilihan langsung submit ...
    ndak perlu pake input submit
    mending langsung pake event onchange di <select> nya

    itu kalo niatnya ... pilih-langsung submit

    tapi kalo enggak, ya tetep pake model sekarang ya ndak apa



    [3]
    extract($row);

    kayanya ndak ada gunanya elo pake ...
    lha di bawahnya tetap elo tulis 1-1 tiap variable yg elo butuhkan yg nilainya tetap elo ambil dari $row[]



    [4]
    <input name="id" type="hidden" value="<?php echo "$idx";?>" />
    <input name="id" type="hidden" value="<?php echo "$idx";?>" />

    tuh ketulis dobel



    [5]
    koding elo di atas ...
    $id_temp = $_POST["id_tx"][$i];

    gw bandingin dgn form nya ...

    ndak ada <input> yg "name"-nya "id_tx" ...
    lalu $_POST["id_tx"] dapat nilai dari mana ?

    cek ulang



    [6]
    bener, masalah elo kemungkinan bisa sama ...

    "name" juga pake []
    tapi ambil data pake for

    kesalahan bakal kejadian kalo
    - yg elo check ndak urut
    - yg elo cek bukan yg awal (akhir, tengah, atau lompat-lompat)

    ubah pake foreach, baca tret yg satunya
    sudah gw tulis detil di situ



    bahas 1-1 dulu, koreksi sambil dibenerin
    kalo sudah, posting ulang kode yg sudah elo perbaiki
    biar bisa dilihat progres perbaikannya
  • Hahahha...iya pak ketauan ya..saya tadi pake edit lagi..karena ini ya bukan skrip asli..krna skrip aslinya pake kata2 yang mungkin buat pak laba2 dan yang baca makin tambah bingung. ok pak saya saya langsung edit skrip asli saya
  • edited May 19
    hoalah ... ada koding tambahannya :D

    yg nomer [5] jadi ...

    di form elo :
    <input name="id_tempnm" type="text" value="<?php echo $row['id_tx'];?>" />

    itu bukan array ...
    kalo array, "name" nya pake []

    sementara yg menerima ...
    $id_temp = $_POST["id_tempnm"][$i];

    ndak bakal ketemu ...



    ini error reporting elo mati kah ?
    soalnya kalo hidup pasti php nya sudah ngomong ...

    Notice: Undefined index: ... in ...\ubah_status_pph.php on line ...

    gara-gara index [$i] ndak ada
  • ooo iya kelewatan..apakarena ini kali ya makanya tidak terbaca skrip perbandingannya
  • edited May 19
    bukan ... elo juga salah alur :D

    sudah, dibenerin dulu, baca tret yg satunya ...
    - benerin name nya pake [$index] ...
    $index ini terserah elo namakan apa,
    baca di tret yg satunya, sdh gw jelasin kenapa harus dipake dan cara bikinnya

    - lalu ganti proses nya pake foreach
  • edited May 19
    labalaba said:


    [6]
    bener, masalah elo kemungkinan bisa sama ...

    "name" juga pake []
    tapi ambil data pake for

    kesalahan bakal kejadian kalo
    - yg elo check ndak urut
    - yg elo cek bukan yg awal (akhir, tengah, atau lompat-lompat)

    ubah pake foreach, baca tret yg satunya
    sudah gw tulis detil di situ



    bahas 1-1 dulu, koreksi sambil dibenerin
    kalo sudah, posting ulang kode yg sudah elo perbaiki
    biar bisa dilihat progres perbaikannya

    tritnya yang tabung ya pak? karena klo yang masalah tabung kan salah..klo saya bener pak..karena saya ada kondisi dimana yang di update it sesuai dengan id_detail, id_detail itu id unik dari table pembayaran.

  • iya, di tret yg itu ...

    name bukan cuma [], tapi juga beneran harus ada nomor nya sejenis [$index]

    lalu proses pake foreach, bukan pake for
  • ok pak saya telaah treat yang pak laba2.
  • Pak laba2 saya bingung menggunakan foreach($kembali as $index=>$value) {
  • edited May 19
    kalo di tret yg satunya ...
    http://www.diskusiweb.com/discussion/50487/update-field-pada-database-gagal-menggunakan-checkbox

    KONDISI AWAL
    masih pake for ...

    $kembali itu asalnya dari
    $kembali= $_POST['kembali'];

    $_POST['kembali'] asalnya dari
    <input type='checkbox' name='kembali[]' value='2'>

    DIUBAH
    pake foreach ...

    $kembali tetap asalnya dari
    $kembali= $_POST['kembali'];

    $_POST['kembali'] asalnya berubah dari
    <input type='checkbox' name='kembali[".$no."]' value='2'>

    dan kalo di lihat di tret yg satunya ...
    ndak cuma input checkbox yg ditambah $no
    semua input yg pake [], semua ditambah $no
    	echo "
    <tr>
    <td width='240px' colspan='4'>
    <input type='checkbox' name='kembali[".$no."]' value='2'>
    <input type='text' size='4' name='tabung[".$no."]' value='".$x['no_tb']."' required> ".$x['id_tabung']."
    <input type='hidden' size='4' name='id_po[".$no."]' value='".$x['id']."' required>
    </td>
    </tr>";
    $no asalnya dari
    $no++;
    urut sesuai nomor baris data elo

    inisialisasi di awal sebelum bikin baris data
    $no=1;
    ndak mesti harus mulai dari 1, dari 0 juga boleh



    kalo koding elo ...
    yg checkbox itu
    <input name="status[]" type="checkbox" value="<?php echo "$id_detail";?>" />

    diterima di
    $kode = $_POST["status"][$i];

    tapi ada beda beda dikit nulis nya
    di tret yg satunya ada assignment $kembali= $_POST['kembali']; sebelum FOR
    di koding elo ndak ada ...

    tapi ndak masalah, bisa aja foreach nya elo tulis jadi
    foreach($_POST["status"] as $index=>$value) {

    di dalam foreach tinggal elo ubah
    $kode = $_POST["status"][$index];
    yg lainnya ngikut ...

    atau tetap mau pake $i juga ndak masalah ...
    foreach($_POST["status"] as $i=>$v) {

    lha wong elo bikin nama variable itu bebas
  • pak, berarti "$jumlah = count($_POST['status'])" tidak terpakai ya?? apa gmana?
  • lha menurut elo gimana ? :D
    kepake apa enggak ?
  • edited May 19
    pak laba2 sudah berhasil menggunakan foreach tetapi ya masih sama nonya masih saja berurutan tanpa melihat id_tx
  • kan gw sudah bilang, kalo sudah diperbaiki
    posting ulang kodingnya
    biar bisa di periksa progres perbaikannya kaya apa
  • ook pak laba2 berikut proses update.php nya https://pastebin.com/KhswyimG
  • form nya jadi kaya apa ?
  • seperti ini pak nda beda jauh dari yang awal https://pastebin.com/9ExCmkG7
  • 1-1, FORM-nya dulu ...

    [1]
    $tabel = ""select * from pembayaran p inner join gd_total gd on p.id_tx = gd.id_tx WHERE gd.status_byr='Telah di Cek' and p.id = ".$_POST['angkutan'];

    cek ulang quote nya



    [2]
    if(true) {
    $pphnya = $row["nilaipjk"];
    $totalnya += $pphnya;
    $jdtotalnya = number_format($totalnya,0,',','.');
    }

    buat apa pake if(true) ? kan pasti selalu TRUE

    napa ndak langsung begini aja ...

    $pphnya = $row["nilaipjk"];
    $totalnya += $pphnya;
    $jdtotalnya = number_format($totalnya,0,',','.');



    [3]
    <input name="kode" type="hidden" value="<?php echo "$id_detail";?>" />
    <input name="id" type="hidden" value="<?php echo "$idx";?>" />

    ndak ada gunanya ditulis ...
    di proses nya gw ndak liat elo ambil
    $_POST['kode']
    $_POST['id']



    [4]
    <select name="tahun[<?php $i; ?>]">
    <option>2018</option>
    <option>2019</option>
    <option>2020</option>
    </select>

    kalo masalah pilihan, kalo elo buat fix kaya gitu ...
    apa ya tiap tahun mesti ganti kode manual ?

    napa ndak begini aja ...
    <select name="tahun[<?php $i; ?>]">
    <?php
    for($thn = date('Y'); $thn < date('Y') + 3; $thn++) {
    echo '<option>'.$thn.'</option>';
    }
    ?>
    </select>

    tahun berubah, otomatis pilihan juga berubah sendiri

    bulan juga bisa elo buat sejenis
    atau sekalian langsung bikin pilihan 12 bulan, ndak berubah-ubah
  • edited May 19
    wah di koreksi biar mateng bgt ya pak, terima kasih banyak untuk pengoreksiannya..tp yg intinya itu gimana pak ?? hehehe iya pak, itu c sdh dalam pikiran, tp memang blm terlaksana karena masih mikirin yg masih penasaran it.
  • hahaha..ok pak :'(
  • edited May 19
    1-1, gw lagi nge-cek proses elo, yg baik kaya apa

    hambok sabar
    besok juga masih hari minggu
  • selamat malam pak laba2, monggo di kroscek https://pastebin.com/tJ4cRgVU ;)
  • labalaba said:

    1-1, gw lagi nge-cek proses elo, yg baik kaya apa

    hambok sabar
    besok juga masih hari minggu

    nggih pak..suwunn ;) :)
Sign In or Register to comment.