Marcar/Desmarcar filas de una tabla como favoritos actualizando la base de datos
Publicado por Goyo (3 intervenciones) el 09/04/2021 14:45:03
Marcar/Desmarcar filas de una tabla como favoritos
Hola a todos. Os cuento.
Tengo una tabla con un listado de alumnos generada dinámicamente desde una consulta php/mysql.
Por el perfil de algunos de ellos necesito marcarlos/desmarcarlos a modo de 'perfil favorito o interesante', en este caso, mediante el típico corazón (para que sea gráficamente más visual).
En esta generación dinámica de la tabla añado un formulario a la última columna (os muestro el código abajo), que me permitiría mediante una llamada a js/ajax acceder a la base de datos para marcar/desmarcar al alumno y finalmente sustituir el corazón relleno por el no relleno, o viceversa, para que la experiencia del usuario sea agradable a la vista.
Esto funciona estupendamente, pero únicamente con la primera fila de la tabla. A partir de ahí el comportamiento es errático, y no consigo encontrarle lógica.
Tengo hecho algo parecido para borrar registros mediante checks en otra parte de la aplicación. En este caso, marco todos los checks juntos y luego pulsando un botón 'Borrar' elimino todas las filas de la tabla marcadas previamente; para ello tuve que añadir unos [] a cada check.
En este caso necesito tratar cada fila de manera individual y ejecutar cada acción en cada pulsación, actualizando la base de datos y el icono correspondiente cada vez.
Os dejo el código de la última columna de cada fila, que muestra el botón que habría que pulsar.
Muchas gracias por adelantado por vuestra ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
switch ($fila['coin_favoritaParaCurso']){
case 'SI':?>
<td class="centrado"> desmarcar
<form id="frmMarcarFavoritaParaCurso">
<input type="hidden" name="marcarComoFavoritaParaCurso" value="NO" />
<input type="hidden" name="fichaAlumno" value="<?php echo $fila['coin_alumnoDNI'];?>" />
<input type="hidden" name="fichaCurso" value="<?php echo $fila['fichaCurso_ID'];?>" />
<?php echo "<button type='submit' class='btnFavoritoParaCurso' title='Desmarcar como interesante la Ficha del Alumno ".$fila['alumno_nombre']." ".$fila['alumno_apes']." (".$fila['coin_alumnoDNI'].")'></button>";?>
</form>
</td>
<?php
break;
default: ?>
<td class="centrado"> marcar
<form id="frmMarcarFavoritaParaCurso">
<input type="text" name="marcarComoFavoritaParaCurso" value="SI" />
<input type="text" name="fichaAlumno" value="<?php echo $fila['coin_alumnoDNI'];?>" />
<input type="text" name="fichaCurso" value="<?php echo $fila['fichaCurso_ID'];?>" />
<?php echo "<button type='submit' class='btnFavoritoParaCursoNo' title='Marcar como interesante la Ficha del Alumno ".$fila['alumno_nombre']." ".$fila['alumno_apes']." (".$fila['coin_alumnoDNI'].")'></button>";?>
</form>
</td>
<?php
break;
}
?>
Valora esta pregunta


0