Tengo el código del index.php que dejo debajo y que, cuando se hace click en el <i> que hay en la línea 56 y se ejecuta el ajax que hay un poco más abajo. Sin embargo, el Paso1.php que hay debajo y que se debería ejecutar con el AJAX no se ejecutan bien las consultas: la $Query2 se ejecuta dos veces y las de después no. ¿Es problema del AJAX que no funcionen las consultas? Gracias
Código PHP:
Ver original
<!doctype html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="../../../Estilos/Estilos.css"> </head> <body> <?php // Incluyo conexión a la base de datos require ("../../../SiempreAdjunto.php"); // Traigo el nombre de la materia y la evaluación que estoy calificando $Query1 = "SELECT * FROM `Asignaturas` WHERE `ID` = '".$_GET['Asignatura']."'"; $MyQuery1 = $MyConnect->query($Query1); $MyFetch1 = $MyQuery1->fetch_assoc(); $Query2 = "SELECT * FROM `Evaluaciones` WHERE `ID` = '".$_GET['Evaluacion']."'"; $MyQuery2 = $MyConnect->query($Query2); $MyFetch2 = $MyQuery2->fetch_assoc(); // Nombre para la microcabecera ?> <title><?= $Tit1; ?></title> <div class="MicroCabecera"> <div class="Izq">j</div> <div class="Dch"> <div class="Titulo1"><?= $Tit1; ?></div> <div class="Titulo2"><?= $Tit2; ?></div> </div> </div> <div class="Alerta"><div class="AlertaAdvertencia Ancho80 Bold13">Antes de crear categorías e ítems lee el manual del libro de calificaciones.</div></div> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <table class="T2"> <tr class="T2Cab"> <td>Nombre del ítem</td> <td class="T2Ancho10">Reducido</td> <td class="T2Ancho10"><i class="fa fa-bars"></i></td> </tr> <?php $Tabla = "ASIG".$_GET['Asignatura']."-EV".$_GET['Evaluacion']; $Query3 = "SELECT * FROM `".$Tabla."-Categorias`"; $MyQuery3 = $MyConnect->query($Query3); while ($MyFetch3 = $MyQuery3->fetch_assoc()){ echo ' <tr class="T2N1"> <td class="BtnEliminar">c</td> </tr>'; $Query4 = "SELECT * FROM `".$Tabla."-Items` WHERE `Categoria` = '".$MyFetch3['ID']."'"; $MyQuery4 = $MyConnect->query($Query4); while ($MyFetch4 = $MyQuery4->fetch_assoc()){ echo ' <tr class="T2N2"> <td class="BtnEliminar" onClick="EliminarItem('.$MyFetch4['ID'].',"'.utf8_encode($MyFetch4['Reducido']).'");">c</td> </tr> '; } } ?> </table> <script> function EliminarItem(ID, NombreItem){ if(confirm('¿Realmente quieres eliminar el ítem "'+NombreItem+'"?')){ $.ajax({ type: "GET", url: "EliminarItem/Paso1.php", data: { ID: ID , NombreItem: NombreItem, Asignatura: "<?= $_GET['Asignatura'] ?>", Evaluacion: "<?= $_GET['Evaluacion'] ?>"}, success: function(data){ alert("El ítem '"+NombreItem+"' ha sido eliminado."); window.location.reload(); } }); } } </script> <div class="Botonera"> <a href="NuevaCategoria/Paso1.php"><button class="Boton1" type="button">Nueva categoría</button></a> <a href="NuevoItem/Paso1.php"><button class="Boton1" type="button">Nuevo ítem</button></a> </div> </body> </html>
Código PHP:
Ver original
<?php require ("../../../../SiempreAdjunto.php"); $Tabla = "ASIG".$_GET['Asignatura']."-EV".$_GET['Evaluacion']; $Query1 = "SELECT * FROM `".$Tabla."-Items` WHERE `ID` = '".$_GET['ID']."';"; $MyFetch1 = $MyConnect->query($Query1)->fetch_assoc(); $Query2 = "UPDATE `".$Tabla."-Categorias` SET `NumeroItems` = `NumeroItems` - 1 WHERE `ID` = '".$MyFetch1['Categoria']."';"; $MyQuery2 = $MyConnect->query($Query2); $Query3 = "DELETE FROM `".$Tabla."-Items` WHERE `ID` = '".$_GET['ID']."';"; $MyQuery3 = $MyConnect->query($Query1); $MyQuery4 = $MyConnect->query($Query2); ?>