显示表记录有多个?

时间:2016-05-10 07:16:28

标签: php twitter-bootstrap-3

有人可以在PHP中帮我解决问题吗? 为什么我在使用连接4表或更多表格显示表记录时获得多条记录?并且在表中它有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

for pic#goo.gl/6mT0gi

2 个答案:

答案 0 :(得分:0)

您的sql语句似乎有问题。

对于每个连接,您可以创建一种相乘的结果集。因此,如果基表中有3条记录,而连接表中有两条记录,则结果中会得到6行。连接条件通常会通过删除与其不匹配的行来减少此计数。

检查每个数据库表中的'nip'值,如果有一行包含相同的值,那么就会有加倍条目的来源。

答案 1 :(得分:0)

@Joachim Schirrmacher

在数据库表中,比如说, tb_dosen是tb_table1,tb_pendidikan是tb_table2,tb_buku是tb_table3,直到tb_table10,导致这10个表与tb_table1有关(就像关系1到很多)。

即时查看数据库每个表都有2条记录(现在),首先是&#34; nip1&#34; (比如说,nip就像是必须具有的数字,以及#34; nip2&#34;。

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

相关问题