Estoy tratando de crear una característica cuando hago clic en una imagen más pequeña para abrir una más grande y mostrarme más detalles adicionales al lado de la imagen. Cuando se hace clic en la imagen pequeña, se activa una función que extrae la identificación de la imagen a través del conjunto de datos, y estoy tratando de enviar esos datos al archivo .php y luego cargarlos desde la base de datos mysql, pero todo lo que obtengo es un error. ¿Qué estoy haciendo mal aquí? ¿Estoy cometiendo un error en la parte js o en php one?
Lo mismo sucede cuando intento hacerlo en una versión jquery.
Aquí está la versión vanilla.js
function modalTitleLoad(e) { let dataObj = e.target.dataset.id; let xhr = new XMLHttpRequest(); xhr.open('GET', 'modalTitle.php'); xhr.onload = function () { if (this.status == 200) { let data = this.response; let datapass = dataObj; let output = ''; output += data; document.querySelector('.modal__title').innerHTML = output; } }; xhr.send(); }versión jquery:
function modalData(e) { let dataObj = e.target.dataset.id; $.ajax({ type: 'GET', url: 'modalTitle.php', data: { datapass: dataObj, }, success: function (data) { $('.modal__title').append(data); }, }); } modalData(event);y ahí está el archivo .php:
<?php $datapass = $_GET['datapass']; $conn = mysqli_connect('localhost','root','','db'); $query = mysqli_query($conn, "SELECT description FROM content where timecode={$datapass}"); $data = mysqli_fetch_all($query, MYSQLI_ASSOC); echo json_encode($data);y aquí está el error:
Warning: Undefined array key "datapass" in C:\xampp\htdocs\Project\modalTitle.php on line 3 Fatal error: Uncaught TypeError: mysqli_fetch_all(): Argument #1 ($result) must be of type mysqli_result, bool given in C:\xampp\htdocs\Project\modalTitle.php:9 Stack trace: #0 C:\xampp\htdocs\Project\modalTitle.php(9): mysqli_fetch_all(false, 1) #1 {main} thrown in C:\xampp\htdocs\Project\modalTitle.php on line 9