marzo 27, 2006

AJAX

Hoy estoy un poco tecnologico, (bueno eso pasa por ser ing de sistemas), tenia un problema con el modulo de secuenciacion de clientes, siempre habia errores al momento de actualizar la lista, pues ni los preventas pueden hacerlo bien, ni el sistema puede ser tan pero tan perfecto, claro que se podia utilizar algun algoritmo y xyz, pero bueno, encontre una salida mas vistosa y simple, el usar javascript y una lista desordenada en HTML, me base en el manual de phpRiot Creating sortable lists with PHP and AJAX , al principio tenia problemas pues no me aceptaba el reordenamiento tal como en el ejemplo lo demostraba, haciendo verificaciones, vi que el campo indice de la tabla de ejemplo era un integer y la tabla de clientes la tenemos en un campo varchar, asi que lo que hice fue hacer al consulta y al momento de formar el array que se genera en la funcion getMovies(); le indique que el codigo del cliente era del tipo int:
$index=(int)$row->cliente;
Esto debido a que la funcion de serialize de la libreria prototype (que es la que maneja la serializacion), utiliza los valores en modo integer, con eso se solucionaba el poder manejar el indice de los clientes, luego de eso solo quedaba reconstruir el codigo del cliente para la actualizacion, para esto use la funcion str_pad() esta funcion nos permite añadir caracteres a un valor dado, por ejemplo;

$index=1234;
$completa="0";
$veces=12;
$index=str_pad($index,$veces,$completa,STR_PAD_LEFT);
Aqui le decimos que al valor de $index le complete 12 veces con el valor 0 (cero) y que lo complete al lado izquierdo (STR_PAD_LEFT), si quisieramos que lo complete a la derecha simplemente es poniendo el STR_PAD_RIGHT , el ejemplo de arriba nos daria como resultado que $index equivale a:

000000001234
Este método permite que una lista se reordene on-fly, en el momento, y evita que se esté mandando arreglos o matrices para modificar al finalizar toda una secuenciación, tiene sus pro y sus contras, pero tiene mas pros que contras, para una lista relativamente grande no serviría y seria un atrazo, pero en la pagina de scriptaculous hay mas ejemplos de como partir una lista en varias filas.

AJAX es una gran herramienta formada de otras dos herramientas que son CSS y JavaScript y es el estandard de facto para la WEB 2.0, esperemos mas y mejores herramientas a lo largo del año.

Espero que este post ayude a quien necesite saber como hacer listas ordenables.

Saludos

JN

PD: Ayer vi jarhead y Fun with Dick and Jane, la primera muy buena, la otra es una aceptable comedia de Jim Carrey ;).


1 comentario:

Leuzor dijo...

adeas es super flexible y permite hacer interfaces mas eficientes.