Saya cuba menggunakan $_GET untuk mengekstrak id daripada get-albums-genres.php?gid=".$id." tetapi ia mengembalikan saya tanpa definisi!
Selepas mengekstrak data daripada jadual genre, saya menjalankan pertanyaan SQL menggunakan array untuk mendapatkan data genre muzik
$dbcursor = $db->query(" SELECT * FROM GENRES_TBL ORDER BY ID "); $genres = []; while($takegenre = $dbcursor->fetch_object()) $genres[] = $takegenre;
Selepas ini, saya mencipta jadual html yang mengandungi <a tag, menggunakan gelung foreach untuk mencipta hiperpautan bagi setiap jenis muzik.
<?php foreach($genres as $gs) { $id = $gs->ID; echo " <a class='gentons' href='get-albums-genres.php?gid=".$id."'>".$gs->GENRE."</a>"; } ?> </table>
Dengan hiperpautan ini saya ingin memaparkan jadual semua album genre yang dipilih. Untuk mencapai matlamat ini, saya merancang untuk mengekstrak id daripada href dan menggunakannya dalam pertanyaan SQL untuk menggabungkan id jenis album dengan id jenis, tetapi apabila mengekstrak id dengan $_GET, dalam fail php yang mendapat album Apabila mengisytiharkan pembolehubah dan menggunakan $_GET, ia mengembalikan saya nilai yang tidak ditentukan.
$genre_id = $_GET['gid']; echo"$genre_id"; //undefined if(isset ($_GET['gid'])){ echo"yes"; }else{ echo"no"; } //yes
Kod Javascript dengan acara adalah seperti berikut:
$(document).on('click', 'a.gentons', function(e) { $.get('get-albums-genres.php?gid=' + $('input[name="gid"]').val(), function(data) { $('#albums-list').html(data); }); return false; })
Ini adalah pelik kerana saya melakukan perkara yang sama dalam fail php yang lain, saya memasukkan nama atau lagu terbaik artis dan kemudian semua albumnya ditemui dan dipaparkan, dan di sana saya menggunakan $_GET Tidak ada yang salah dengan kaedah itu. Saya juga tidak faham mengapa apabila saya tuding kursor pada hiperpautan, ia menunjukkan pautan dan id yang sepadan, tetapi apabila saya cuba mengekstraknya terdapat masalah.
Masukkan penerangan gambar
Anda mempunyai beberapa soalan di sini. Mula-mula, daripada menggunakan href dalam teg pautan (anda pasti tidak mahu sesiapa pun melawati URL itu, bukan?), mari tetapkan href kepada
#
dan letakkan ID jenis kami dalam atribut data. Mari kita jelaskan petikan tunggal dan petikan berganda semasa kita melakukannya.Kini dalam JS kami, kami boleh menggunakan
preventDefault()
untuk membatalkan acara, dapatkan id jenis dan biarkan selebihnya tidak berubah.Ini sepatutnya berfungsi, atau sekurang-kurangnya membantu anda membetulkan ralat seterusnya.