显示表记录得到多个


display table record got multiple?

有人能帮我解决php中的问题吗??当我使用join4表或更多表显示表记录时,为什么我得到了多个记录??在表格中,它获得了2条记录,但在(网络上)显示中,它变成了6条记录??为什么?我使用的脚本是错误的还是什么???这里的脚本:

<div class="modal-body row">
    <?php
        //$id = $_GET['nip'];
        $qry="
            select 
                tb_dosen.nip, tb_dosen.nidn_nidk, tb_dosen.nama, tb_dosen.jenis_kelamin, tb_dosen.alamat, tb_dosen.telepon, tb_dosen.agama, tb_dosen.pendidikan_terakhir, tb_dosen.jabatan, tb_dosen.email, tb_dosen.foto,
                tb_bimbingan.no_bimbingan, tb_bimbingan.nip, tb_bimbingan.tahun_bimbingan, tb_bimbingan.nama_mahasiswa,tb_bimbingan.judul,
                tb_pendidikan.no_pendidikan, tb_pendidikan.nip, tb_pendidikan.tahun_lulus, tb_pendidikan.jenjang, tb_pendidikan.gelar,  tb_pendidikan.nama_universitas,  tb_pendidikan.bidang_ilmu,  tb_pendidikan.no_ijasah,
                tb_buku.no_buku, tb_buku.nip, tb_buku.penulis, tb_buku.judul_buku, tb_buku.penerbit_buku, tb_buku.tahun_terbit,
                tb_jabatan_ak.no_jabatan, tb_jabatan_ak.nip, tb_jabatan_ak.tahun_diangkat, tb_jabatan_ak.posisi, tb_jabatan_ak.no_sk,
                tb_jafung.no_jafung, tb_jafung.nip, tb_jafung.tahun_jafung, tb_jafung.jafung, tb_jafung.sk_jafung, tb_jafung.sk_sertifikasi,
                tb_penelitian.no_penelitian, tb_penelitian.nip, tb_penelitian.tahun_penelitian, tb_penelitian.judul_penelitian, tb_penelitian.tempat_publikasi,
                tb_pengajaran.no_pengajaran, tb_pengajaran.nip, tb_pengajaran.tahun_akademik, tb_pengajaran.semester, tb_pengajaran.mata_kuliah, tb_pengajaran.sk_mengajar,
                tb_penghargaan.no_penghargaan, tb_penghargaan.nip, tb_penghargaan.tanggal_penghargaan, tb_penghargaan.jenis_penghargaan, tb_penghargaan.pemberi,
                tb_pkm.no_pkm, tb_pkm.nip, tb_pkm.tahun_pkm, tb_pkm.judul_pkm, tb_pkm.tempat_pkm, tb_pkm.publikasi_pkm,
                tb_seminar.no_seminar, tb_seminar.nip, tb_seminar.judul_seminar, tb_seminar.sebagai, tb_seminar.jenis_seminar, tb_seminar.kota, tb_seminar.tanggal_seminar
            from tb_dosen
                INNER JOIN tb_bimbingan ON tb_bimbingan.nip = tb_dosen.nip
                INNER JOIN tb_pendidikan ON tb_pendidikan.nip = tb_dosen.nip
                INNER JOIN tb_buku ON tb_buku.nip = tb_dosen.nip
                INNER JOIN tb_jabatan_ak ON tb_jabatan_ak.nip = tb_dosen.nip
                INNER JOIN tb_jafung ON tb_jafung.nip = tb_dosen.nip
                INNER JOIN tb_penelitian ON tb_penelitian.nip = tb_dosen.nip
                INNER JOIN tb_pengajaran ON tb_pengajaran.nip = tb_dosen.nip
                INNER JOIN tb_penghargaan ON tb_penghargaan.nip = tb_dosen.nip
                INNER JOIN tb_pkm ON tb_pkm.nip = tb_dosen.nip
                INNER JOIN tb_seminar ON tb_seminar.nip = tb_dosen.nip
            where tb_dosen.nip = '$_GET[nip]'
        ";
        $hasil=mysql_query($qry) or die ("".mysql_error());
        $row = mysql_num_rows($hasil) or die ("".mysql_error());
        $data=mysql_fetch_array($hasil) or die ("".mysql_error());
    ?><table class="table table-condensed">
                            <tr>
                                <th>No.</th>
                                <th>Tahun Lulus</th>
                                <th>Jenjang</th>
                                <th>Gelar</th>
                                <th>Nama Universitas</th>
                                <th>Bidang Ilmu</th>
                                <th>No. Ijazah</th>
                            </tr>
                            <?php 
                            while ($k=mysql_fetch_array($hasil)) 
                            {
                                $a=$k['no_pendidikan'];
                                $b=$k['tahun_lulus'];
                                $c=$k['jenjang'];
                                $d=$k['gelar'];
                                $e=$k['nama_universitas'];
                                $f=$k['bidang_ilmu'];
                                $g=$k['no_ijasah']; 
                            ?>
                            <tr>
                                <td><?php echo $a ?></td>
                                <td><?php echo $b ?></td>
                                <td><?php echo $c ?></td>
                                <td><?php echo $d ?></td>
                                <td><?php echo $e ?></td>
                                <td><?php echo $f ?></td>
                                <td><?php echo $g ?></td>
                            </tr>
                            <?php } ?>
                        </table>

对不起,如果我用的是印尼语的话很抱歉我英语不好#

这里是完整版。http://pastebin.com/qgr4rHJC

对于图片#goo.gl/6mT0gi

您的sql语句似乎有问题。

对于每个联接,都可以创建一种相乘的结果集。因此,如果在基表中有3条记录,在联接表中有两条记录,那么结果中会有6行。联接条件通常通过删除与之不匹配的行来减少此计数

在每个数据库表中检查您的"nip"值,如果有多行包含相同的值,则存在加倍条目的来源。

@Joachim Schirrmacher

在数据库表中,tb_dosen是tb_table1,tb_pendidikan是tb_ttable2,tb_buku是tb_table 3,直到tb_table10,因为这10个表将与tb_table 1相关(类似于关系1对多)。

我正在查看数据库,每个表都有2条记录(目前),第一条是"nip1"(假设nip就像必须有"uique"fiture或primary的数字),第二条是"nip2"

现在在tb_table2有4条记录(现在只加1条),这4条记录有一个名为"nip"(关系的外键)的字段,tb_tbale2中的每个"nip"都有2条记录,另一个表也会变得像tb_table 2……所以当我点击这些"nip1"(主表)时,另一张表上的另一个nip(tb_table3到10)将只显示我点击的数据,但当我使用该查询时,记录会变成多个,为什么???