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

Menjumlahkan value pada array

Hallo para mastah, mhn bantuannya.
misal saya ada data seperti ini

[tb_gejala]

id_gejala (PK) | id_penyakit (FK) | gejala | bobot 1 | bobot 2
2 | 3 | kulit gatal | 0.5 | 0.7
3 | 3 | mata merah | 0.8 | 0.7
4 | 3 | hidung berdarah | 0.5 | 0.3
5 | 4 | turunnya pertilasi | 0.4 | 0.2
6 | 4 | terjadi peradangan | 0.3 | 0. 6
7 | 4 | terserang cacar | 0.4 | 0.2
8 | 4 | telinga sakit | 0.5 | 0.8 

1. seluruh data tb_gejala di tampilkan 
2. user memilih salahsatu data berdasarkan id_gejala, 
3. jika di pilih id_gejala 5 maka yang tampil pilihan id_gejala 6, 7 dan 8. ataupun yang dipilih id_gejala 2 maka yang tampil pilihan id_gejala 3 dan 4. karena memiliki id_penyakit yang sama.
4. user memilih kembali salah satu dari pilihan, dan mengulangi seperti poin 3 sesuai dengan banyaknya angka yang sama ( angka 3 = 3 , angka 4 = 4).
5. id_gejala yang sebelumnya di pilih tidak ditampilkan kembali namun di simpan value nya untuk di hitung


kira-kira teknik seperti apa yang harus saya gunakan ?
tks 



image
Tagged:

Comments

  • mungkin gw salah nangkep ... tapi kalo baca masalah elo itu mestinya table parent-child

    kalo parent-child, mestinya bentuknya :

    id_child | id_parent | node_name
    1 | 0 | A
    2 | 0 | B
    3 | 1 | Aa
    4 | 1 | Ab
    5 | 2 | Ba
    6 | 2 | Bb
    7 | 3 | Aaa
    8 | 3 | Aab
    9 | 5 | Baa
    10 | 6 | Bba

    cuma gw bingung dgn kalimat ini :

    3. jika di pilih id_gejala 5 maka yang tampil pilihan id_gejala 6, 7 dan 8. ataupun yang dipilih id_gejala 2 maka yang tampil pilihan id_gejala 3 dan 4. karena memiliki id_penyakit yang sama.
    4.
    user memilih kembali salah satu dari pilihan, dan mengulangi seperti
    poin 3 sesuai dengan banyaknya angka yang sama ( angka 3 = 3 , angka 4 =
    4).

    jika dipilih 5, yg muncul 6,7,8 karena 6,7,8 id_penyakit = id_penyakit 5

    napa kagak :
    jika dipilih 5, yg muncul 5,6,7,8 karena id_penyakit nya sama semua

    kenapa ada pengecualian 5 nya ?



    dan kalo bener itu tree, susunan valuenya yg mesti dibenerin dulu
  • iya mas, itu memang dari id_penyakit di dapat dari tb_penyakit. 

    " jika dipilih 5, yg muncul 5,6,7,8 karena id_penyakit nya sama semua.
    kenapa ada pengecualian 5 nya ?"
    karena, id_gejala 5 sebelumnya sudah di pilih. jadi id_gejala 5 tidak di tampilkan lagi.

    kira-kira untuk prosedur di atas, nama teknik nya apa mas ? dan susunan value yang harus di benerin itu seperti apa ?
  • bingung ... kalo model nya begitu ...

    dipilih 5, yg muncl 6,7,8
    lalu dipilih 6, yg muncul 5,7,8
    lalu dipilih 5 lagi, yg muncul 6,7,8
    lalu dipilih 7, yg muncul 5,6,8

    gitu terus, muter ... lalu hasilnya apa ?
  • sebenernya semacam aplikasi ujian online mas. 
    ilustrasinya seperti ini mas:
    kelompok a = 1,2,3,4
    kelompok b = 1,2,3,4,5
    kelompok c = 1,2,3

    1. semua nilai di tampilkan : 1,2,3,4,1,2,3,4,5,1,2,3
    2. jika di pilih 3 pada kelompok a, maka ada pertanyaan 1
    3. jika ya (value3+value1), jika tidak(value3+0)
    4. lalu ada pertanyaan 2, jika ya (hasil poin 3+ value2), jika tidak (hasil poin 3+ 0)
    5. lalu ada pertanyaan 4, jika ya (hasil poin 4+ value4), jika tidak (hasil poin 4 + 0)

    Hasil akhirnya: Nilai hasil penjumlahan.






  • <form> awal nya dulu kaya apa ?
  • <form method="post" action="#">
        <table width="100%">
        <caption><h1>FORM KONSULTASI</h1></caption>
        <tr>
        <th>Aksi</th>
        <th>Kode Gejala</th>
            <th>Gejala</th></tr>
    <?php 
    include "../koneksi.php";
    $query = mysqli_query($sambung,"select * from gejala order by id_penyakit asc");
    while($hasil = mysqli_fetch_array($query)){
    ?>
        <tr>
        <td><input type="radio" name="gejala[]" value="<?php echo $hasil['id_gejala']; ?>"></td>
            <td><?php echo $hasil['kode'];?></td>
            <td><?php echo $hasil['gejala'];?></td></tr>
        <?php }?>
        </table>
    <input type="submit" name="simpan" value="NEXT">
    </form>
  • edited June 2014
    <input type="radio" name="gejala[]" value="<?php echo $hasil['id_gejala']; ?>">

    kalo tipe radio, dan cuma 1 grup ... kagak perlu model array
    karena yg dipilih pasti cuma bisa 1

    lalu kalo form di submit,
    diproses kaya apa ?
  • nah itu dia mas, proses setelah submit nya yang belum ada. :)
  • edited June 2014
    ini yakin bukan tree yo ?

    misal pilihan model elo pake radio ...

    pilih propinsi
    (_) Banten
    (o) DKI Jakarta
    (_) Jawa Barat

    saat di submit, keluar dah semua kota / kab dgn id_parent = id yg dipilih

    pilih kota
    (_) Jakarta Pusat
    (_) Jakarta Timur

    isi table nya kira-kira :

    id_child | id_parent | node_name
    1 | 0 | Banten
    2 | 0 | DKI Jakarta
    3 | 0 | Jawa Barat
    4 | 1 | Serang
    5 | 1 | Tangerang
    6 | 2 | Jakarta Pusat
    7 | 2 | Jakarta Timur
    8 | 3 | Bandung
    9 | 3 | Bogor
    10 | 3 | Cirebon
  • edited June 2014
    atau ...
    mungkin gw rombak cara pandang gw ...

    id_gejala (PK) | id_penyakit (FK) | gejala | bobot 1 | bobot 2
    2 | 3 | kulit gatal | 0.5 | 0.7
    3 | 3 | mata merah | 0.8 | 0.7
    4 | 3 | hidung berdarah | 0.5 | 0.3
    5 | 4 | turunnya pertilasi | 0.4 | 0.2
    6 | 4 | terjadi peradangan | 0.3 | 0. 6
    7 | 4 | terserang cacar | 0.4 | 0.2
    8 | 4 | telinga sakit | 0.5 | 0.8

    pilihan elo checkbox (bukan radio) ...

    pilih gejala, bisa lebih dari satu :
    [x] kulit gatal
    [_] mata merah
    [x] hidung berdarah

    submit, lalu dijumlah nilai yg di dapat
    tampilkan pilihan berikutnya berdasar jumlah yg dihasilkan

    pilih gejala, bisa lebih dari satu :
    [_] xxx
    [_] yyy
    [_] zzz
  • iya mas, tabel saya pun sama seperti itu. 
    oh iya mas, setiap data yang dipilih value nya di hitung.
    misal:
    Banten =1
    Jakarta =2
    Jawa Barat = 3
    jakarta pusat = 4
    jakarta barat = 5
    serang = 6

    1. pilih jakarta, value = 2
    2. pilih kota jakarta pusat, bila yes ( 2+4) bila no (2+0)
    dan seterusnya... 
  • edited June 2014
    kalo gw liat, data elo itu bukan tree ...

    id_gejala (PK) | id_penyakit (FK) | gejala | bobot 1 | bobot 2
    2 | 3 | kulit gatal | 0.5 | 0.7
    3 | 3 | mata merah | 0.8 | 0.7
    4 | 3 | hidung berdarah | 0.5 | 0.3
    5 | 4 | turunnya pertilasi | 0.4 | 0.2
    6 | 4 | terjadi peradangan | 0.3 | 0. 6
    7 | 4 | terserang cacar | 0.4 | 0.2
    8 | 4 | telinga sakit | 0.5 | 0.8

    kalo yg hijau, ok ... 5,6,7,8 itu child dari 4
    yg biru juga ok ... 2,4 child dari 3
    tapi 3 nya ? 3 child dari 3 ?

    kalo contoh gw pan yg paling atas (root), parent nya 0
    dan yg paling awal yg ditampilkan :

    SELECT * FROM table WHERE id_parent=0

    bukan ditampilkan semua
    jadi berikutnya yg ditampilkan adalah child dari yg dipilih

    kasus elo,
    dari awal semua data sudah ditampilkan :

    SELECT * FROM gejala ORDER BY id_penyakit ASC

    lalu berikutnya yg ditampilkan apa ?
    data lengkap elo kaya apa to ?



    yakin itu bukan model yg checkbox ?
  • data saya seperti ini mas
    image

    1. data yang tampil order by id_gejala : 3, 5, 7 karena mewakili masing-masing kelompok dari id_penyakit
    2. misal dipillih 7, maka yang muncul 8.
    3. akan ada tombol ya tidak , jika ya ( value7+value8), jika tidak (value7+0)
    4. muncul id_penyakit 9 , jika ya (hasil poin3+value9), jika tidak (hasil poin3+0)
    5. muncul id_penyakit 10, jika ya(hasil poin4+value10), jika tidak (hasil poin4+0)

    Output: penjumlahan yang paling akhir ( poin 5) yang ditampilkan.
  • tree nya dulu diberesin

    yg muncul pertama : 3,5,7 ... ini jadi root
    id_parent = 0

    4 child dari 3
    6 child dari 5
    8 child dari 7
    9 child dari 8
    10 child dari 9

    daripada ubah value di table, tambah aja field baru : id_parent

    id_gejala | id_parent | id_penyakit | ...
    3 | 0 | 3 | ...
    4 | 3 | 3 | ...
    5 | 0 | 4 | ...
    6 | 5 | 4 | ...
    7 | 0 | 5 | ...
    8 | 7 | 5 | ...
    9 | 8 | 5 | ...
    10 | 9 | 5 | ...

    awal tinggal : SELECT * FROM table WHERE id_parent = 0
    dipilih yg manapun tinggal : SELECT * FROM table WHERE id_parent=$id

    masalah jumlah, elo mainan SESSION saja
    $_SESSION['...']=...;

    tiap submit form :
    $_SESSION['...']=$_SESSION['...']+...;

    terakhir tinggal elo liat aja isi $_SESSION nya
  • edited June 2014
    btw, napa kagak begini saja :

    awal :

    (_) Sapi betina ...
    (_) Terjadi peradangan ...
    (o) Keluar cairan ...

    tampilan berikutnya langsung :

    [x] Air liur ...
    [_] Moncong ...
    [x] Hidung ...

    pan tinggal elo jumlah dari pilihan yg di check
    ya / tidak diganti check / uncheck

    cukup 2 form, bukan banyak form beruntun
  • cara menjumlah pilihan checkbox bagaimana mas ?
  • edited June 2014
    lha pan gampang ...

    <input type="checkbox" name="id_gejala[]" value="$id_gejala"> ...
    <input type="checkbox" name="id_gejala[]" value="$id_gejala"> ...
    <input type="checkbox" name="id_gejala[]" value="$id_gejala"> ...

    hasil $_POST['id_gejala'] pan sudah array

    tinggal elo :
    SELECT SUM(...) AS jumlah FROM ... WHERE id_gejala IN (...)
  • edited June 2014
    oke mas, terimakasih banyak.
Sign In or Register to comment.