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.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

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

Help Me.. Master PHP Masuk.. Menghitung Dengan PHP

Langsung to the point aja.. Saya lagi membangun script sejenis MLM dan
ada sedikit kendala. Saya sudah berusaha googling, tpi masih belum
ketemu solusinya.



Jadi begini.. saya akan berikan contoh sederhana skema mlm seperti pada gambar di bawah ini..

image

Model tabel membernya seperti pada gambar ini..

image

Pertanyaannya.. Seperti apa script PHP untuk menghitung jumlah total
member yang dimiliki oleh Johan? Total member yang dimaksud yaitu
keseluruhan dari level 1 hingga level 3. Yang klo kita hitung dengan
kasat mata jumlah totalnya = 24

Kalo menghitung member hanya di level 1 kan gampang tuh, misal "SELECT *
FROM member WHERE atasan=johan" akan langsung ketemu hasilnya A B C
dan dilanjut pake mysql_num_rows ketemu jumlahnya = 3



Saya tunggu partisipasinya dari para master2 programmer PHP di sini,, thanks..

Tanggapan

  • edited September 2016
    itu mysql dhe bkn php haha (soalnya tnya ttg mysql)
    bknnya tinggal di bikin kyk inheritance aja
    contoh :
    table 1 : human
    | ID    | nama |
    |  H01| Ali      |

    table 2 : human_lvl_1
    | ID_1 |  ID  | nama |
    |H1001|  01 |    A    | 
    |H1002|  01 |    B    | 
    |H1003|  01 |    C    | 

    table 3 human_lvl_2
    | ID_2 |    ID_1  | nama |
    |H2001|  H1001 |    D   | 
    |H2002|  H1001 |    E   | 
    |H2003|  H1001 |    F   | 

    table 4 human_lvl_3
    | ID_3 |    ID_2  | nama |
    |H3001|  H2001 |    L   | 
    |H3002|  H2001 |    M  | 

    SELECT * FROM human AS h 
    LEFT JOIN human_lvl_1 AS h_satu ON h.ID = h_satu.ID 
    LEFT JOIN human_lvl_2 AS h_dua ON h.satu.ID_1 = h_dua.ID_1
    LEFT JOIN human_lvl_3 AS h_tiga ON h.dua.ID_2 = h_tiga.ID_2
    WHERE h.nama = 'Ali';
  • itu mysql dhe bkn php haha (soalnya tnya ttg mysql)
    bknnya tinggal di bikin kyk inheritance aja
    contoh :
    table 1 : human
    | ID    | nama |
    |  H01| Ali      |

    table 2 : human_lvl_1
    | ID_1 |  ID  | nama |
    |H1001|  01 |    A    | 
    |H1002|  01 |    B    | 
    |H1003|  01 |    C    | 

    table 3 human_lvl_2
    | ID_2 |    ID_1  | nama |
    |H2001|  H1001 |    D   | 
    |H2002|  H1001 |    E   | 
    |H2003|  H1001 |    F   | 

    table 4 human_lvl_3
    | ID_3 |    ID_2  | nama |
    |H3001|  H2001 |    L   | 
    |H3002|  H2001 |    M  | 

    SELECT * FROM human AS h 
    LEFT JOIN human_lvl_1 AS h_satu ON h.ID = h_satu.ID 
    LEFT JOIN human_lvl_2 AS h_dua ON h.satu.ID_1 = h_dua.ID_1
    LEFT JOIN human_lvl_3 AS h_tiga ON h.dua.ID_2 = h_tiga.ID_2
    WHERE h.nama = 'Ali';
    Sepertinya bukan itu jawaban yg saya maksud gan,, Pertanyaan di thread ini saya update gan, saya perjelas lagi dengan model tabelnya. Mohon pencerahannya lagi..
  • edited September 2016
    Ngga ngerti dhe, kamu tampilin table & tny-nya PHP
    tapi ini kan script SQL BUKAN PHP:
    "SELECT * FROM member WHERE atasan=johan" => SQL
  • Pake cara recursive aja,

    Pertama, buat satu function untuk mengambil bawahan dari seseorang menjadi bentuk array sekaligus menghitung mereka.
    kemudian panggil function itu didalam function tsb jika bawahan dari seseorang masih memiliki bawahan..

    #SampleLogic:
    function countEveryone($who)
    {
        $data = Ambil data SQL mengenai $who sebagai bentuk array -- Querynya sama..
        $total = 0;

        if(count($data)!=0)
        {
            for($i=0; $i<count($data); $i++)
            {
                $total = $total + countEveryone($data[$i]);
            }
        }
        return $total;
    }
Sign In or Register to comment.