Foros del Web » Programando para Internet » Javascript »

Redordenar registros mostrados

Estas en el tema de Redordenar registros mostrados en el foro de Javascript en Foros del Web. Muy buenas, tengo una serie de registros en SQL que mediante PHP muestro ordenados por ID. Y tengo dos consultas... Se me ocurre, desde PHP, ...
  #1 (permalink)  
Antiguo 23/08/2013, 05:14
 
Fecha de Ingreso: marzo-2011
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Redordenar registros mostrados

Muy buenas,

tengo una serie de registros en SQL que mediante PHP muestro ordenados por ID. Y tengo dos consultas...

Se me ocurre, desde PHP, recargar la página pasando una variable para cuando haga la consulta SQL ordenarla por el campo que yo quiera, pero imagino que usando Jquery sería mucho más limpio, ¿es sencillo?.

Y lo que más me urge, quisiera que el usuario pudiera cambiar el orden de manera que yo en una variable de la base de datos meta los valores de posición, (el 1, el 2...) y ya me encargaré de listarlos a partir de ese número, de manera que si me llegan las tareas de ID:

1
2
3

tengan asignada una variables POSICION:

1 - POSICION=1
2 - POSICION=2
3 - POSICION=3

y el usuario de alguna manera (arrastrando filas sería ideal, si no pues aunque fuera con un desplegable o un campo numérico) pudiera cambiar su orden y se almacenara la nueva posicion:

2 - POSICION=1
1 - POSICION=2
3 - POSICION=3

En el ejemplo he movido la tarea 2 a la posición 1.

Así cuando liste las tareas lo haré según POSICION y no por ID.

Por favor me dais ideas?

Gracias!
  #2 (permalink)  
Antiguo 25/08/2013, 07:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Redordenar registros mostrados

esto te dará la idea de como hacerlo

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="application/xhtml; charset=utf-8" />
<title></title>
<script type="text/javascript">
Object.prototype.subir = function() {
if (this.previousElementSibling === null) {
alert('no es posible subir este nodo');
} else {
var n = document.getElementById('nodos');
this.setAttribute('posact', this.previousElementSibling.getAttribute('posact') );
this.previousElementSibling.setAttribute('posact', parseInt(this.getAttribute('posact'))+1);
n.insertBefore(this, this.previousElementSibling);
}
}


Object.prototype.bajar = function() {
if (this.nextElementSibling === null) {
alert('no es posible bajar este nodo');
} else {
var n = document.getElementById('nodos');
this.setAttribute('posact', this.nextElementSibling.getAttribute('posact'));
this.nextElementSibling.setAttribute('posact', parseInt(this.getAttribute('posact'))-1)
n.insertBefore(this.nextElementSibling, this);
}
}
</script>
</head>
<body>

<div id="nodos">
<p posact="1" posini="1">párrafo 1 <span onclick="this.parentNode.subir()">Subir</span> - <span onclick="this.parentNode.bajar()">Bajar</span></p>
<p posact="2" posini="2">párrafo 2 <span onclick="this.parentNode.subir()">Subir</span> - <span onclick="this.parentNode.bajar()">Bajar</span></p>
<p posact="3" posini="3">párrafo 3 <span onclick="this.parentNode.subir()">Subir</span> - <span onclick="this.parentNode.bajar()">Bajar</span></p>
<p posact="4" posini="4">párrafo 4 <span onclick="this.parentNode.subir()">Subir</span> - <span onclick="this.parentNode.bajar()">Bajar</span></p>
</div>

</body>
</html>
tendrás que hacerle algunos cambios para que funcione en ie8
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: jquery, php, registros, variable
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 05:00.