Detail data di modal , clause is ambiguous

saya ingin memunculkan detail data di modal, scrip tabelnya ini

<tbody>
          <?php
            $servername = "localhost";
            $username = "root";
            $password = "";
            $dbname = "db_smp11";

            // Membuat Koneksi
            $koneksi = new mysqli($servername, $username, $password, $dbname);

            // Melakukan Cek Koneksi
            if ($koneksi->connect_error) {
                die("Koneksi Gagal : " . $koneksi->connect_error);
            }

            //Melakukan query
            $sql = "SELECT * FROM member where level='siswa'";
            $hasil = $koneksi->query($sql);
            $no = 1;
            if ($hasil->num_rows > 0) {
                foreach ($hasil as $row) { ?>
                  <tr>
                  <td><?php echo $no; ?></td>
                  <td><?php echo $row['nisnip']; ?></td>
                  <td><?php echo $row['nama']; ?></td>
                  <td><?php echo $row['kelas']; ?></td>
                  <?php echo "<td><a href='#myModal' class='btn btn-default btn-small' id='siswaId' data-toggle='modal' data-id=".$row['nisnip'].">Detail</a></td>"; ?>
                  </tr>
            <?php
            $no++;
            }
              } else {
            echo "0 results";
              } $koneksi->close();
            ?>


          </tbody>

script dibawah

 <script type="text/javascript">
    $(document).ready(function(){
        $('#myModal').on('show.bs.modal', function (e) {
            var rowid = $(e.relatedTarget).data('nisnip');
            //menggunakan fungsi ajax untuk pengambilan data
            $.ajax({
                type : 'post',
                url : 'DetailSiswa.php',
                data :  'rowid='+ rowid,
                success : function(data){
                $('.fetched-data').html(data);//menampilkan data ke dalam modal
                }
            });
         });
    });
  </script>

detail siswanya

if($_POST['rowid']) {
        $nisnip = $_POST['rowid'];
        // mengambil data berdasarkan id
              mysql_connect("localhost","root");
              mysql_select_db("db_smp11");
        $sql = mysql_query("SELECT * FROM member,nilai,matapelajaran WHERE nilai.idmatapelajaran= matapelajaran.idmatapelajaran
                and member.nisnip=nilai.nisnip and nisnip=$nisnip");
        if($sql=== FALSE) {
die(mysql_error());
}
        $row = mysql_fetch_array($sql)?>
            <table class="table">
                <tr>
                    <td>Kode Barang</td>
                    <td>:</td>
                    <td><?php echo $row['namamatapelajaran']; ?></td>
                </tr>
                <tr>
                    <td>Nama Barang</td>
                    <td>:</td>
                    <td><?php echo $row['kkm']; ?></td>
                </tr>
                <tr>
                    <td>Deskripsi Barang</td>
                    <td>:</td>
                    <td><?php echo $row['ratarata']; ?></td>
                </tr>
            </table>
        <?php

        }

tp masalahnya, kl data gamuncul drtadi, diperbaiki malah "Column 'nisnip' in where clause is ambiguous" mohon bantuannya

avatar girisarahsrh
@girisarahsrh

6 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

query is ambigous berarti kolom "nisnip" kamu kurang detail asalnya dari mana,berikan info yang jelas seperti namatable.namakolom seperti kolom lainnya

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 5 tahun yang lalu

jadi ada nama kolom nisnip di 2 tabel, pilih salah satu yg mau dipake. ini ane pake tabel member, jadi member.nisnip (namatabel.namakolom) <pre> "SELECT * FROM member,nilai,matapelajaran WHERE nilai.idmatapelajaran= matapelajaran.idmatapelajaran and member.nisnip=nilai.nisnip and member.nisnip=$nisnip" </pre>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 5 tahun yang lalu

Jika ada field yang sama persis namanya namun beda tabel maka selalu gunakan seperti "AS";

<pre> "SELECT * FROM member AS m,nilai AS n,matapelajaran AS mp WHERE n.idmatapelajaran= mp.idmatapelajaran AND m.nisnip=n.nisnip AND m.nisnip=$nisnip" </pre>

Querynya juga belum benar, kenapa menggunakan member nisnip ganda pada tabel yang sama?

Perjelas pertanyaan dengan memberikan struktur tabel databasenya. Agar para penolong bisa langsung memahami apa yang dinginkan.

avatar PUYUP
@PUYUP

20 Kontribusi 10 Poin

Dipost 5 tahun yang lalu

Tanggapan

itu bukan ganda gan, yg 1 buat join antara tabel member dan nilai, satunya untuk pencarian berdasarkan kondisi

Login untuk ikut Jawaban