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

mysqli_num_rows

$query = mysqli_query($connect,"select id_penilai, penilai, id_guru, guru, nilai, SUM(IF(id_guru='$id_guru' AND status='guru', nilai, 0)) AS guru from quesioner");
$hasil = mysqli_fetch_array($query);
$record = mysqli_num_rows($query);
?> 

<tr>
<td><?php echo $hasil['penilai']; ?></td>
<td><?php echo $hasil['guru']/$record; ?></td></tr>
<?php echo $record?>   

mysqli_num_rows hasil nya kenapa selalu 1 ? padahal untuk hasil query ada 2 record. 

Comments

  • edited July 2014
    Contoh databasenya gimana? Biar sama2 belajar.. :)
  • struktur tabel quesioner
    image

    isi tabel quesioner
    image
  • edited July 2014
    Return dari mysql_num_rows($query) ya emang selalu 1 karena mysql_num_rows () mengembalikan jumlah baris yang dikembalikan oleh query Anda. Dalam hal ini adalah satu baris.
    Coba kamu echo $hasil['guru']; nilainya berapa? apakah  2 / ??
  • echo $hasil['guru'] hasil nya 175 , hasil dari penjumlahan 2 record antara id_q=12 dan id_q=75.

    sebenrnya hasil akhir yang sya cari itu, hasil_penjumlahan/N 
    N : banyak nya record 
    hasil penjumlahan nya sudah dapat, tinggal
  • edited July 2014
    N itu dari semua record???

    coba ini : SELECT COUNT(id_q) AS totalRecord, SUM(IF(.......)) AS guru FROM ......
    Kalo mo ngasi kondisi tinggal tambahin WHERE id_guru='$id_guru' atau kondisi yg lain
  • edited July 2014
    N dari jumlah record yang sudah terpenuhi kondisi.
    kondisi:
    id_guru = $id_guru  <-- tidak masalah
    status = kepsek or guru or staff or siswa <-- masalah

    script lengkap nya seperti ini mas. 


    SELECT id_penilai, penilai, id_guru, guru, nilai,
    SUM(IF(id_guru='$id_guru' AND STATUS='kepsek', nilai, 0)) AS kepsek,
    SUM(IF(id_guru='$id_guru' AND STATUS='guru', nilai, 0)) AS guru,
    SUM(IF(id_guru='$id_guru' AND STATUS='staff',nilai,0)) AS staff,
    SUM(IF(id_guru='$id_guru' AND STATUS='siswa', nilai, 0)) AS siswa,
    COUNT(id_penilai) AS jumlah FROM quesioner WHERE id_guru='$id_guru'
  • trus script yg di atas ada pesan error??
  • gak ada masalah, hanya kurang di kondisi nya saja.
    di situ kondisi nya yang terpenuhi baru id_guru='$id_guru' 

  • kan tinggal di tambah ... WHERE id_guru='$id_guru' AND status='$nilaistatus' AND ......
  • ini script lengkap nya:

    <?php
    $query = mysqli_query($connect,"select id_penilai, penilai, id_guru, guru, nilai, SUM(IF(id_guru='$id_guru' AND status='kepsek', nilai, 0)) AS kepsek, SUM(IF(id_guru='$id_guru' AND status='guru', nilai, 0)) AS guru, SUM(IF(id_guru='$id_guru' AND status='staff',nilai,0)) AS staff, SUM(IF(id_guru='$id_guru' AND status='siswa', nilai, 0)) AS siswa, count(id_penilai) as jumlah from quesioner where id_guru='$id_guru'");
    $hasil = mysqli_fetch_array($query);
    ?> 
    <tr>
    <td hidden="">Hasil dari 4 Aspek Penilai</td>
    <td><?php echo $hasil['kepsek']/$record_kepsek;?></td>
            <td><?php echo $hasil['guru']/$record_guru;?></td>
            <td><?php echo $hasil['staff']/$record_staff;?></td>
            <td><?php echo $hasil['siswa']/$record_siswa;?></td></tr>

    hasil akhir : script diatas yang sya cetak tebal mas.

    $hasil['kepsek'] didapat dari SUM(IF(id_guru='$id_guru' AND status='kepsek', nilai, 0)) AS kepsek

    $hasil['guru'] didapat dari SUM(IF(id_guru='$id_guru' AND status='guru', nilai, 0)) AS guru

    $hasil['staff'] didapat dari SUM(IF(id_guru='$id_guru' AND status='staff',nilai,0)) AS staff

    $hasil['siswa'] didapat dari SUM(IF(id_guru='$id_guru' AND status='siswa', nilai, 0)) AS siswa



    bagaimana cara nya mendapatkan hasil  $record_kepsek, $record_guru, $record_staff, $record_siswa
    dengan ketentuan :
    $record_kepsek  = jumlah record tb_quesioner dengan kondisi id_guru='$id_guru' AND status='kepsek'
    $record_guru  = jumlah record tb_quesioner  dengan kondisi id_guru='$id_guru' AND status='guru'
    $record_staff  = jumlah record tb_quesioner  dengan kondisi id_guru='$id_guru' AND status='staff'
    $record_siswa  = jumlah record tb_quesioner  dengan kondisi id_guru='$id_guru' AND status='siswa''

  • edited July 2014
        Kalo seperti ini

    SELECT id_penilai, penilai, id_guru, guru, nilai,
    SUM(IF(id_guru='$id_guru' AND STATUS='kepsek', nilai, 0)) AS kepsek,
    SUM(IF(id_guru='$id_guru' AND STATUS='guru', nilai, 0)) AS guru,
    SUM(IF(id_guru='$id_guru' AND STATUS='staff',nilai,0)) AS staff,
    SUM(IF(id_guru='$id_guru' AND STATUS='siswa', nilai, 0)) AS siswa,
    COUNT(IF(id_guru='$id_guru' AND STATUS='kepsek', fieldA, 0) AS jumlahA, COUNT(IF(id_guru='$id_guru' AND STATUS='guru', fieldB, 0) AS jumlahB,<br>....dst....<br>&nbsp;from quesioner WHERE id_guru='$id_guru'<br><br>kalo short queryx aq blm nemu, nanti aku posting kalo bisa dengan cara yg lbh singkat <br>

  • fieldA, fieldB, .... itu maksud nya apa ya ?
  • bs diganti degan field id_guru
  • SELECT id_penilai, penilai, STATUS, id_guru, guru, nilai, 
    SUM(IF(id_guru='$id_guru' AND STATUS='kepsek', nilai, 0)) AS kepsek,
    SUM(IF(id_guru='$id_guru' AND STATUS='guru', nilai, 0)) AS guru,
    SUM(IF(id_guru='$id_guru' AND STATUS='staff',nilai,0)) AS staff,
    SUM(IF(id_guru='$id_guru' AND STATUS='siswa', nilai, 0)) AS siswa,
    COUNT(IF(id_guru='$id_guru' AND STATUS='kepsek',STATUS,0)) AS jumlahA,
    COUNT(IF(id_guru='$id_guru' AND STATUS='guru',STATUS,0)) AS jumlahB
    FROM quesioner WHERE id_guru='$id_guru'

    hasil nya masih sama saja mas, kondisi nya masih sesuai dengan where id_guru='$id_guru' 
    jumlahA dan jumlahB hasilnya masih 3


    seharusnya ketika data jumlahA di cetak hasil nya 1 dan jumlahB di cetak  hasil nya 2
  • sudah bisa mas, terimakasih banyak mas dhryasa atas bantuan nya  :D

  • :)>- selamat berlebaran kalo merayakannya..
Sign In or Register to comment.