Ordenar un GRID completo
Hola a todos, realmente me gusta mucho este site, y la parte de cursos sobre todo.
Al foro le falta bastante, por eso he decidido ayudar a medida que vaya aprendiendo.
No tengo el conocimiento como para responder preguntas, pero como en este caso, a medida que vaya encontrando respuestas a mis preguntas, me gustaria ir poniendolas aqui.
Esta vez lo que me paso es que tenia un grid lleno de info que venia desde una base MySQL, y al momento de ordenar por columnas, solo lo hacia con los resultados que habia en 'esa' pagina, no con todos los resultados de la consulta.
La solucion es la siguiente:
al store que llena al grid, se le[b] [color=#FF0000]agrega la propiedad remoteSort[/color][/b], de la siguiente manera:
var store = new Ext.data.JsonStore({ url : './ajax/articles.php', root : 'data', totalProperty : 'total', remoteSort : true, // esto es lo que hay que agregar fields : [ 'id', 'title', 'subtitle', 'date_created', 'img' ] });eso lo que hace es decir que cada vez que ordenemos, realice la consulta nuevamente, y envie dos parametros nuevos, el $_POST['sort'] y el $_POST['dir'], por lo tanto tambien hay que agregar algo de codigo al php, en mi caso al 'ajax/articles.php'
$sort = isset($_POST['sort'])?$_POST['sort']:'id'; $dir = isset($_POST['dir'])?$_POST['dir']:'DESC'; $q="SELECT * FROM cont_articles ORDER BY ".$sort." ".$dir;Bueno, con eso se soluciona este problema. Espero pueda ayudar a alguien.... <!-- s --><!-- s -->
solo recuerda "limpiar" los parámetros "sort" y "dir" antes de ejecutar el query, ya que si lo dejas de esta forma te pueden hacer un SQLInjection muy fácil <!-- s --><!-- s -->
saludos
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.