Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2016, 15:24
diegoguerrero
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 10 meses
Puntos: 5
AJAX no funciona bien

¡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
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <link rel="stylesheet" href="../../../Estilos/Estilos.css">
  6. </head>
  7. <body>
  8. <?php
  9. // Incluyo conexión a la base de datos
  10. require ("../../../SiempreAdjunto.php");
  11. // Traigo el nombre de la materia y la evaluación que estoy calificando
  12. $Query1 = "SELECT * FROM `Asignaturas` WHERE `ID` = '".$_GET['Asignatura']."'";
  13. $MyQuery1 = $MyConnect->query($Query1);
  14. $MyFetch1 = $MyQuery1->fetch_assoc();
  15. $Query2 = "SELECT * FROM `Evaluaciones` WHERE `ID` = '".$_GET['Evaluacion']."'";
  16. $MyQuery2 = $MyConnect->query($Query2);
  17. $MyFetch2 = $MyQuery2->fetch_assoc();
  18. // Nombre para la microcabecera
  19. $Tit1 = "Calificaciones de ".utf8_encode($MyFetch1['Materia']);
  20. $Tit2 = utf8_encode($MyFetch1['Materia'].' - '.$MyFetch1['Curso'].' - '.$MyFetch2['Nombre']);
  21. ?>
  22. <title><?= $Tit1; ?></title>
  23. <div class="MicroCabecera">
  24.     <div class="Izq">j</div>
  25.     <div class="Dch">
  26.         <div class="Titulo1"><?= $Tit1; ?></div>
  27.         <div class="Titulo2"><?= $Tit2; ?></div>
  28.     </div>
  29. </div>
  30. <div class="Alerta"><div class="AlertaAdvertencia Ancho80 Bold13">Antes de crear categorías e ítems lee el manual del libro de calificaciones.</div></div>
  31. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  32. <table class="T2">
  33.     <tr class="T2Cab">
  34.         <td>Nombre del ítem</td>
  35.         <td class="T2Ancho10">Reducido</td>
  36.         <td class="T2Ancho10"><i class="fa fa-bars"></i></td>
  37.     </tr>
  38.     <?php
  39.         $Tabla = "ASIG".$_GET['Asignatura']."-EV".$_GET['Evaluacion'];
  40.         $Query3 = "SELECT * FROM `".$Tabla."-Categorias`";
  41.         $MyQuery3 = $MyConnect->query($Query3);
  42.         while ($MyFetch3 = $MyQuery3->fetch_assoc()){
  43.             echo '
  44.                 <tr class="T2N1">
  45.                     <td class="T2N1Denot">'.utf8_encode($MyFetch3['NombreCategoria']).'</td>
  46.                     <td>'.utf8_encode($MyFetch3['Reducido']).'</td>
  47.                     <td class="BtnEliminar">c</td>
  48.                 </tr>';
  49.             $Query4 = "SELECT * FROM `".$Tabla."-Items` WHERE `Categoria` = '".$MyFetch3['ID']."'";
  50.             $MyQuery4 = $MyConnect->query($Query4);
  51.             while ($MyFetch4 = $MyQuery4->fetch_assoc()){
  52.                 echo '
  53.                 <tr class="T2N2">
  54.                     <td class="T2N2Denot">'.utf8_encode($MyFetch4['NombreItem']).'</td>
  55.                     <td>'.utf8_encode($MyFetch4['Reducido']).'</td>
  56.                     <td class="BtnEliminar" onClick="EliminarItem('.$MyFetch4['ID'].',&quot;'.utf8_encode($MyFetch4['Reducido']).'&quot;);">c</td>
  57.                 </tr>
  58.                 ';
  59.             }
  60.         }
  61.     ?>
  62. </table>
  63. <script>
  64.     function EliminarItem(ID, NombreItem){
  65.         if(confirm('¿Realmente quieres eliminar el ítem "'+NombreItem+'"?')){
  66.             $.ajax({
  67.                 type: "GET",
  68.                 url: "EliminarItem/Paso1.php",
  69.                 data: { ID: ID , NombreItem: NombreItem, Asignatura: "<?= $_GET['Asignatura'] ?>", Evaluacion: "<?= $_GET['Evaluacion'] ?>"},
  70.                 success: function(data){
  71.                     alert("El ítem '"+NombreItem+"' ha sido eliminado.");
  72.                     window.location.reload();
  73.                 }
  74.             });
  75.         }
  76.     }
  77. </script>
  78. <div class="Botonera">
  79.     <a href="NuevaCategoria/Paso1.php"><button class="Boton1" type="button">Nueva categoría</button></a>
  80.     <a href="NuevoItem/Paso1.php"><button class="Boton1" type="button">Nuevo ítem</button></a>
  81. </div>
  82. </body>
  83. </html>
Paso1.php

Código PHP:
Ver original
  1. <?php
  2. require ("../../../../SiempreAdjunto.php");
  3. $Tabla = "ASIG".$_GET['Asignatura']."-EV".$_GET['Evaluacion']; 
  4. $Query1 = "SELECT * FROM `".$Tabla."-Items` WHERE `ID` = '".$_GET['ID']."';";
  5.     $MyFetch1 = $MyConnect->query($Query1)->fetch_assoc();
  6. $Query2 = "UPDATE `".$Tabla."-Categorias` SET `NumeroItems` = `NumeroItems` - 1 WHERE `ID` = '".$MyFetch1['Categoria']."';";
  7.     $MyQuery2 = $MyConnect->query($Query2);
  8. $Query3 = "DELETE FROM `".$Tabla."-Items` WHERE `ID` = '".$_GET['ID']."';";
  9.     $MyQuery3 = $MyConnect->query($Query1);
  10. $Query4 = "ALTER TABLE `".$Tabla."-Cuaderno` DROP `".utf8_encode($_GET['NombreItem'])."`;";
  11.     $MyQuery4 = $MyConnect->query($Query2);
  12. ?>