Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] AJAX no funciona bien

Estas en el tema de AJAX no funciona bien en el foro de Jquery en Foros del Web. ¡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 ...
  #1 (permalink)  
Antiguo 18/03/2016, 15:24
 
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. ?>
  #2 (permalink)  
Antiguo 18/03/2016, 17:54
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: AJAX no funciona bien

y asi?????
Código Javascript:
Ver original
  1. <td class="BtnEliminar" onClick="EliminarItem($MyFetch4['ID'],utf8_encode($MyFetch4['Reducido']));">c</td>
  #3 (permalink)  
Antiguo 19/03/2016, 04:36
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 10 meses
Puntos: 5
Respuesta: AJAX no funciona bien

Cita:
Iniciado por abrahamhs Ver Mensaje
y asi?????
Código Javascript:
Ver original
  1. <td class="BtnEliminar" onClick="EliminarItem($MyFetch4['ID'],utf8_encode($MyFetch4['Reducido']));">c</td>
Pues no, sigue sin funcionar. Dejo el código, que lo he modificado otro poco (líneas 51 a 61)
Código PHP:
Ver original
  1. while ($MyFetch4 = $MyQuery4->fetch_assoc()){
  2.                 echo '
  3.                 <tr class="T2N2">
  4.                     <td class="T2N2Denot">'.utf8_encode($MyFetch4['NombreItem']).'</td>
  5.                     <td>'.utf8_encode($MyFetch4['Reducido']).'</td>
  6.                     <td>
  7.                         <i class="BtnEliminar" onClick="EliminarItem('.$MyFetch4['ID'].', '.utf8_encode($MyFetch4['Reducido']).');"></i>
  8.                     </td>
  9.                 </tr>
  10.                 ';
  11.             }

Etiquetas: ajax, funcion, html, javascript, js, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:18.