Comunidad de diseño web y desarrollo en internet online

Reordenar registros monstrados

Citar            
MensajeEscrito el 23 Ago 2013 11:19 am
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!

Por superx335

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ago 2013 04:42 pm
Lo acabas de decir todo amigo..

las funciones que neceistas estudiar en Jquery.com son:

.ajax() del core principal

y "dragabble" de Jquery UI. no tengo un ejemplo a la mano pero que vere que se puede hacer ;)

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 23 Ago 2013 05:12 pm
PErdon la funcion de Jquery UI es SORTABLE

Aqui un ejemplo de como se utilizar, lo que debes definir es como enviaras los valores de posicion ;)

http://jsfiddle.net/elporfirio/H7wAX/

podrias enviar el texto y que PHP lo procese para guardar nuevas posiciones.

como por ejemplo:

Código PHP :

<?php

$posiciones = exclude("-",$_POST["valores"]);

$i = 0;
foreach($posiciones as $indice){
   $i++;
   $sql = "UPDATE datos SET posicion = $i WHERE dato = $indice";
}

// Ya cuando los traigas de regreso

$sql = "SELECT * FROM datos ORDER BY posicion";

?>

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.