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.
Klik link berikut untuk informasi 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

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

Checkbox tidak berfungsi dan tidak mau tersimpan

Permisi master, saya ingin menanyakan pertanyaan yang mungkin agak konyol.
Saya sudah membuat form untuk menampilkan data, sekaligus input data dengan checkbox. Di sini saya ada beberapa masalah.
1. Pada saat saya mencentang checkbox, dan melakukan save, malah semua datanya terikut (Saya melihat datanya menggunakan method GET). Padahal yang diperlukan hanya yang dicentang.
Gambar form dan checkbox : http://puu.sh/quNZy/96280494cb.PNG
Potongan kode formnya : http://puu.sh/quOQv/4d207a61fe.png
2. Pada saat ingin save, malah tidak tersave ke database.
<pre lang="php">
<?php
include "koneksi3.php";
$id=$_GET['id'];
$total=$_GET['total'];
// coding untuk menyimpan
if(isset($_GET['total']))
{
$num = $_GET['total'];
for($i=0;$i<=$num;$i++)
{
if ($i != "")
{
if(isset($_GET[$i+1]))
{
$x1 = $i+1;
$id = $_GET[$i+1];
$a = 'Station'.$x1;
$Station = $_GET[$a];
$b = 'Unit$x1;';
$Unit = $_GET[$b];
$c = 'Figure$x1;';
$Figure = $_GET[$c];
$d = 'Idx$x1;';
$Idx = $_GET[$d];
$e = 'Part_Number$x1;';
$Part_Number = $_GET[$e];
$f = 'Descript$x1;';
$Descript = $_GET[$f];
$g = 'Cat$x1;';
$Cat = $_GET[$g];
$h = 'Qt$x1;';
$Qty = $_GET[$h];
$i = 'Sect$x1;';
$Sect = $_GET[$i];
$j = 'Sub_Component$x1;';
$Sub_Component = $_GET[$j];
$k = 'sn$x1;';
$sn = $_GET[$k];
$l = 'Sect_SAP$x1;';
$Sect_SAP = $_GET[$l];
$m = 'Sect_ALB$x1;';
$Sect_ALB = $_GET[$m];
$n = 'Sub_Comp_SAP$x1;';
$Sub_Comp_SAP = $_GET[$n];
$o = 'Flat_rate$x1;';
$Flat_rate = $_GET[$o];
$p = 'Fix_Rate$x1;';
$Fix_Rate = $_GET[$p];
$q = 'Price_List$x1;';
$Price_List = $_GET[$q];
$r = 'Pic_Code$x1;';
$Pic_Code = $_GET[$r];
$s = 'Repair$x1;';
$Repair = $_GET[$s];
$t = 'short_block$x1;';
$short_block = $_GET[$t];
$u = 'codeKit$x1;';
$codeKit = $_GET[$u];
$v = 'noUrut$x1;';
$noUrut = $_GET[$v];
$w = 'Kode$x1;';
$Kode = $_GET[$w];


mysql_query("insert into 12mdl_log.revisi_pb_bp set Station='$Station', Unit='$Unit', Figure='$Figure', Idx='$Idx',
Part_Number='$Part_Number', Descript='$Descript', Cat='$Cat', Qty='$Qty', Sect='$Sect', Sub_Component='$Sub_Component',
sn='$sn', Sect_SAP='$Sect_SAP', Sect_ALB='$Sect_ALB', Sub_Comp_SAP='$Sub_Comp_SAP', Flat_rate='$Flat_rate',
Fix_Rate='$Fix_Rate', Price_List='$Price_List', Pic_Code='$Pic_Code', Repair='$Repair', short_block='$short_block', codeKit='$codeKit',
noUrut='$noUrut', Kode='$Kode'"); */

}
}

}
}
echo"<script>document.location=\"edit_partbook.php\";
</script>";
//exit;
?>

< /pre>

Mohon maaf sebelumnya karena saya memasukkan kode programnya dengan foto dikarenakan jumlah karakternya terlalu banyak saat saya membuat postingan ini. Tolong diberitahukan bagian-bagian mana yang salah dan solusinya.
Terima kasih sebelumnya... 
:)
Tagged:

Comments

  • edited August 2016
    buat perjelas dl
    for($i=0;$i<=$num;$i++)  // i = 0
    {
    if ($i != "") // jika i tidak kosong / 0,
    {
    // masuk i = 1
    if(isset($_GET[$i+1])) // i+1 = 2
    {
    $x1 = $i+1; // i+1 = 2
    $id = $_GET[$i+1]; // i+1 = 2
    $a = 'Station'.$x1; // Station2
    $Station = $_GET[$a]; // get Station2
    // insert
    }
    }
    }

    jadi start simpan data mulai dari field ke 2.
    semua data kesave karena = kondisi isset nya salah, kenapa?
    karena kamu setnya dengan angka, dimana sebelumnya kamu loop for
    for($i =0;$i&lt;=10;$i++) // looping 
    if(isset($i)) // di sini di check apakah sudah di set( karena di loop automatis sudah di set)
    // insert database

    coba di buat seperti ini :
    <input type="checkbox" value="<?php echo " a1"; ?>” name="<?php echo "a1"; ?>" >
    for($i = 1; $i<=2; $i++)
    {
    if(isset($_GET['a'.$i]))
    {
    // SET ALL
    // INSERT
    }
    }

    saran :
    1. loop for-nya coba di ganti ($i = 1; $i <= $num; $i++), jadinya if ($i != "") bisa di comment/delete.
    2. bisa di ganti menjadi $station = $_GET['Station'.$x1] // get station 2
    3. $id di deklarasi 2x (???).
  • edited August 2016
     
  • Mohon maaf sebelumnya mas blackarch. Sebelumnya di sini untuk menampilkan datanya itu melalui data yang saya pilih dari server http://puu.sh/qvIwV/3dc1d8d23d.jpg . Misalkan saya pilih "Cylinder Head" yang isinya ada 30 data, jadi pas di tabelnya akan muncul sejumlah data yang sama dengan yang di server. Jadi, untuk menerapkan kode anda yang
    <pre lang="php">
    <input type="checkbox" value="<?php echo " a1";="" name="<?php echo " ?="">" &gt;
    for($i = 1; $i&lt;=2; $i++)
    {
    if(isset($_GET['a'.$i]))
    {
    // SET ALL
    // INSERT
    }
    }
    </pre>
    Tidak bisa saya gunakan. Atau memang saya yang (bodoh) tidak bisa mengadaptasikan kode tersebut di tempat saya. Mohon pencerahan lebih lanjut mas blackarch...
  • edited August 2016
    ow bukan maksud sy untuk yg filter checkbox-nya bukan menu side down.
    kalo dari gambar yg di share (awal) <input type"checkbox" name="$num;" value='$num;' /> sblmnya kl blh tau, $num itu isinya angka / combinasi angka & huruf?
  • isinya $num itu angka mas blackarch...
    Saya kasih $num supaya nama tiap baris itu berbeda. Contoh pada baris 1 kolom Station, namanya akan menjadi Station1, dan di baris 2 namanya akan menjadi Station2...
  • edited August 2016
    ow kalo gt berarti bener, untuk checkbox-nya kalo bisa di campur dengan huruf kalo di buat angka saja, sulit untuk di isset (kalo dari code yg di share)
    /* penggunaan huruf+angka jadi logikanya :
    looping untuk fieldnya contoh fieldnya 3x
    for($num=1; $num&lt;=3; $num++)
     
    <input type="checkbox" name="checkbox$num"> hasil checkbox1
    <input type="text" name="name$num"> hasil name1
     
    simpan value $num-nya
    masuk ke backend-nya
    simpan total pengulangannya ($num)
    disini logikanya pake loop(for) berdasarkan $num,
    jika checkbox$num di check maka simpan data name$num, dan lain-lain lalu insert ke database
    */
  • Untuk mas blackarch, untuk masalah ini sudah selesai. Nanti kalau saya ada masalah lagi, akan saya tanyakan kembali, dan mohon bantuannya. Terima kasih... :)
  • ow ok, sip :D
Sign In or Register to comment.