¡Hola!
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
index.php
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
$Tit1 = "Calificaciones de ".utf8_encode($MyFetch1['Materia']); $Tit2 = utf8_encode($MyFetch1['Materia'].' - '.$MyFetch1['Curso'].' - '.$MyFetch2['Nombre']); ?>
<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="T2N1Denot">'.utf8_encode($MyFetch3['NombreCategoria']).'</td> <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="T2N2Denot">'.utf8_encode($MyFetch4['NombreItem']).'</td> <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>
Paso1.php
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);
$Query4 = "ALTER TABLE `".$Tabla."-Cuaderno` DROP `".utf8_encode($_GET['NombreItem'])."`;"; $MyQuery4 = $MyConnect->query($Query2);
?>