Foros del Web » Creando para Internet » Flash y Actionscript »

PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aquí

Estas en el tema de PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aquí en el foro de Flash y Actionscript en Foros del Web. Hola mis estimados compañeros del foro flash, pues como dice el titulo una paginacion en flash y los ira jalando del ASP o PHP según ...
  #1 (permalink)  
Antiguo 11/12/2007, 22:12
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aquí

Hola mis estimados compañeros del foro flash, pues como dice el titulo una paginacion en flash y los ira jalando del ASP o PHP según se vallan solicitando.

Pues aqui les dejo todo el ejemplo y ojala les sirva...

PRIMERA PARTE
************************************************

Aquí les muestro una manera fácil de hacer una paginación en flash, es realmente muy buena ya que el flash en primera instancia no guarda todos los registros como se ven en muchos ejemplos en la Web.

Aquí solo es saber mandar los registros desde tu ASP ó PHP.


Esto lo divido en 3 partes:

1- Creación del diseño de los registros en flash
2- Creación del ASP ó PHP
3- Desarrollo del código en ActionScript



Creación del diseño de los registros en flash



1.1- Empecemos abriendo nuestro programa flash yo en este ejemplo usare la versión 8.



1.2- Creamos un nuevo documento y hacemos el siguiente diseño de cómo se vera nuestros registros.



1.3- Como verán paginaremos de 5 en 5 y necesitamos hacer 5 campos de nombre, 5 de edad y 5 de sexo de la siguiente manera.

nombre1, nombre2, nombre3, nombre4, nombre5
edad1, edad2, edad3, edad4, edad5
sexo1, sexo2, sexo3, sexo4, sexo5


Y haremos 2 botones “Siguiente” y “Anterior”


Y dos campos mas Dynamic Text uno con el nombre pagina y otro con el nombre pag_total


Y Salvamos nuestro proyecto yo le pondré paginacion5.fla





*************************************

Creación del ASP ó PHP


Ahora abramos un “bloc de notas” y pongamos el siguiente código


2.1- Esto será para ASP:


Y yo lo guardare con el nombre de paginacion5.asp

<%
response.Write("&nombre1=Antonio&nombre2=Araceli&n ombre3=Alan&nombre4=Alberto&nombre5=Ana")
response.Write("&nombre6=Brisa&nombre7=Brenda&nomb re8=Belen&nombre9=Beto&nombre10=Barbara")
response.Write("&nombre11=Carolina&nombre12=Cesar& nombre13=Carlos&nombre14=Cristina&nombre15=Carmen" )
response.Write("&nombre16=Daniel&nombre17=Denia&no mbre18=Daniela&nombre19=Dolores&&nombre20=Dana")
response.Write("&nombre21=Estefani&nombre22=Elena" )

response.Write("&edad1=15&edad2=16&edad3=13&edad4= 11&edad5=16")
response.Write("&edad6=28&edad7=25&edad8=23&edad9= 28&edad10=29")
response.Write("&edad11=31&edad12=38&edad13=33&eda d14=39&edad15=35")
response.Write("&edad16=47&edad17=45&edad18=43&eda d19=49&edad20=41")
response.Write("&edad21=56&edad22=54")

'H = Hombre y M = Mujer
response.Write("&sexo1=H&sexo2=M&sexo3=H&sexo4=H&s exo5=M")
response.Write("&sexo6=M&sexo7=M&sexo8=M&sexo9=H&s exo10=M")
response.Write("&sexo11=M&sexo12=H&sexo13=H&sexo14 =M&sexo15=M")
response.Write("&sexo16=H&sexo17=M&sexo18=M&sexo19 =M&sexo20=M")
response.Write("&sexo21=M&sexo22=M")

response.Write("&registros=22")
%>





2.2- Para PHP pongamos esto:

Y yo lo guardare con el nombre de paginacion5.php


<?

echo"&nombre1=Antonio&nombre2=Araceli&nombre3=Alan &nombre4=Alberto&nombre5=Ana";
echo"&nombre6=Brisa&nombre7=Brenda&nombre8=Belen&n ombre9=Beto&nombre10=Barbara";
echo"&nombre11=Carolina&nombre12=Cesar&nombre13=Ca rlos&nombre14=Cristina&nombre15=Carmen";
echo"&nombre16=Daniel&nombre17=Denia&nombre18=Dani ela&nombre19=Dolores&&nombre20=Dana";
echo"&nombre21=Estefani&nombre22=Elena";

echo"&edad1=15&edad2=16&edad3=13&edad4=11&edad5=16 ";
echo"&edad6=28&edad7=25&edad8=23&edad9=28&edad10=2 9";
echo"&edad11=31&edad12=38&edad13=33&edad14=39&edad 15=35";
echo"&edad16=47&edad17=45&edad18=43&edad19=49&edad 20=41";
echo"&edad21=56&edad22=54";

//H = Hombre y M = Mujer
echo"&sexo1=H&sexo2=M&sexo3=H&sexo4=H&sexo5=M";
echo"&sexo6=M&sexo7=M&sexo8=M&sexo9=H&sexo10=M";
echo"&sexo11=M&sexo12=H&sexo13=H&sexo14=M&sexo15=M ";
echo"&sexo16=H&sexo17=M&sexo18=M&sexo19=M&sexo20=M ";
echo"&sexo21=M&sexo22=M";

echo"&registros=22";

?>



Desarrollo del código en ActionScript


3.1- Bueno ahora retomamos nuestro flash para ingresar el código para ingresar los registros de 5 en 5.


Nota: En color verde pondré el código que ustedes ingresaran al flash y en rojo solo haré las observaciones importantes


Seleccionamos el primer KeyFrame y nos vamos a las actions o acciones.




3.2- Ahora en principio pondremos un stop(); para que no, nos provoqué algún contratiempo.




3.3- Ahora empezaremos a poner el código para mandar a llamar nuestro archivo ASP ó PHP

//Cargo la variable new
var SendData:LoadVars = new LoadVars();
//Llamo el archivo (asp o php) en este caso sera asp
SendData.load("paginacion5.asp");
//asigno 5 variables para los registros y estas variables nos ayudaran mucho en la paginación
var num1:Number = 1;
var num2:Number = 2;
var num3:Number = 3;
var num4:Number = 4;
var num5:Number = 5
//Función para primera muestra de registros
SendData.onLoad = function (success){
if (success) {
//Muestro los primeros registros recordemos que mostraremos de 5 en 5.
//Aquí muestro los nombres
nombre1 = this["nombre"+num1].toString();
nombre2 = this["nombre"+num2].toString();
nombre3 = this["nombre"+num3].toString();
nombre4 = this["nombre"+num4].toString();
nombre5 = this["nombre"+num5].toString();
//Aquí muestro las edades
edad1 = this["edad"+num1].toString();
edad2 = this["edad"+num2].toString();
edad3 = this["edad"+num3].toString();
edad4 = this["edad"+num4].toString();
edad5 = this["edad"+num5].toString();
//Aquí muestro el sexo
sexo1 = this["sexo"+num1].toString();
sexo2 = this["sexo"+num2].toString();
sexo3 = this["sexo"+num3].toString();
sexo4 = this["sexo"+num4].toString();
sexo5 = this["sexo"+num5].toString();
//Cargo también el número de registros
registros = this.registros;


/*Hasta aquí el flash ya manda a llamar los primeros 5 registros del archivo pero proseguiremos para que nos de el numero de las paginas que obtendremos.*/

/*Para sacar el número de paginas obtenidas divido los registros obtenidos entre el número de registros que muestra la paginación que en este caso son 5*/
var registro2:Number = registros / 5;
/*Obtenemos con otra variable el resultado para mostrarlo en nuestro Dynamic Text y como podría ser que en esta operación el número obtenido no sea redondo con la funcion Math.ceil la redondeo*/
pag_total.text = Math.ceil(registro2);
}
}


Hasta aquí obtendremos ya los primeros 5 registros y las paginas obtenidas, compilemos nuestro fla y hagamos una prueba:

Nota: Estos archivos hay que correrlos en un servidor, yo le instale el IIS a mi Windows XP si no contamos con esto no podremos ver el resultado.

Nota: En el Dynamic Text con el nombre pagina hay que ponerle por default un 1 por que sabemos que siempre empezara de la página 1.




3.4- Aquí vemos como ya nos jalo los primeros 5 registros.


Última edición por Potro; 11/12/2007 a las 22:29
  #2 (permalink)  
Antiguo 11/12/2007, 22:13
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

SEGUNDA PARTE
************************************************** **


3.5- Ya obteniendo este resultado prosigamos con el código de que llevaran los botones siguiente y anterior.

Seleccionamos el botón Anterior y en las actions ponemos lo siguiente:

on (press)
{
botones(2)
}





Ahora seleccionemos el botón Siguiente y pongamos el siguiente codigo:

on (press)
{
botones(1)
}






Como vemos en los dos botones solo mandamos a llamar a una función que estará en el mismo keyframe donde hemos jalado los primeros 5 registros pero cada botón manda una variable distinta para poder distinguir a cual se le oprimió.

Función botones()



function botones(valorbtn)
{
//Valido si el botón “SIGUIENTE” fue oprimido y si es así ejecuto lo siguiente
if (valorbtn == 1)
{
//Primero validamos si el número de página no ha rebasado el número de páginas obtenidas
if (pagina.text < pag_total.text)
{
//si el número de paginas no ha sido rebasada ejecutamos lo siguiente
//La variable pag_act toma el valor en ese momento de pagina.text
var pag_act:Number = Number(pagina.text);
//creamos la variable nu que será el resultado de la variable pag_act * 5
var nu:Number = pag_act * 5;
//Mandamos a llamar a la funcción mas5 y le mandamos la variable nu
mas5(nu)
//Le damos un nuevo valor a pagina.text sumandole 1
pagina.text = pag_act + 1;
}
//Valido si el botón “ANTERIOR” fue oprimido y si es así ejecuto lo siguiente
} else if (valorbtn == 2)
{
//Aqui hacemos una validación antes para ver si la variable pagina es mayor a 1 si es así se ejecuta
if (pagina.text > 1)
{
//La variable pag_act toma el valor en ese momento de pagina.text
var pag_act:Number = Number(pagina.text);
/*creamos la variable nu2 que será el resultado de pag_actual * 5 - 10 esto nos ayudara a descontarle 5 registros a nuestra paginación*/
var nu2:Number = (pag_act * 5) - 10;
//Mandamos a llamar a la función menos5 y le mandamos la variable nu2
menos5(nu2)
//Le damos un nuevo valor a pagina.text descontandole 1
pagina.text = pag_act - 1;
}
}
}


Bueno analicemos que hace esta función, en primera instancia ve si hará un procedimiento del botón siguiente o del botón anterior.

Si se ha oprimido SIGUIENTE, primero se validara que aun allá más páginas para ver y esto lo hacemos comparando la página actual contra el número de páginas totales, después si pasa esa comprobación tomamos el número de la pagina actual y lo multiplicamos por 5 (El 5 es por que estamos paginando de 5 en 5) ese resultado se lo mandaremos a una función llamada mas5.

Si se ha oprimido ANTERIOR, primero se validara que aun podamos regresar una pagina anterior y eso lo haremos comprobando que la pagina actual sea mayor a 1, bien y si pasa esa comprobación tomamos el número de la pagina actual y lo multiplicamos por 5 y le restamos 10 que es el doble de la paginación, y ese resultado se lo mandaremos a una función llamada menos5.

3.6- Veamos que hace la función mas5()

function mas5(nu)
{
/* Aqui creamos 5 variables las cuales tomaran cada una el registro que deben de mostrar,
Vemos que num_mas1 es igual a la variable num1 + variable nu que se nos ha mandado de la función botones, y así sucesivamente las otras 4 */
var num_mas1:Number = num1 + nu;
var num_mas2:Number = num2 + nu;
var num_mas3:Number = num3 + nu;
var num_mas4:Number = num4 + nu;
var num_mas5:Number = num5 + nu;
//Mostramos los siguientes registros
//Mostramos los siguientes nombres
nombre1 = SendData["nombre"+num_mas1].toString();
nombre2 = SendData["nombre"+num_mas2].toString();
nombre3 = SendData["nombre"+num_mas3].toString();
nombre4 = SendData["nombre"+num_mas4].toString();
nombre5 = SendData["nombre"+num_mas5].toString();
//Mostramos las siguientes edades
edad1 = SendData["edad"+num_mas1].toString();
edad2 = SendData["edad"+num_mas2].toString();
edad3 = SendData["edad"+num_mas3].toString();
edad4 = SendData["edad"+num_mas4].toString();
edad5 = SendData["edad"+num_mas5].toString();
//Mostramos los siguientes sexos
sexo1 = SendData["sexo"+num_mas1].toString();
sexo2 = SendData["sexo"+num_mas2].toString();
sexo3 = SendData["sexo"+num_mas3].toString();
sexo4 = SendData["sexo"+num_mas4].toString();
sexo5 = SendData["sexo"+num_mas5].toString();

}


Analicemos un poco esta función realmente es interesante lo que hace, como vemos creamos una variable num_mas1 que es igual a la suma de num1, si recordamos num1 vale 1 se declaro en la carga de los primeros 5 registros y se le suma con la variable nu si también recordamos esta variable nos viene cuando se le ha dado clic al botón SIGUIENTE. Analicemos que número nos manda nu al primer clic que se da.

Recordemos que nu es la suma de pag_act * 5 si en ese momento pagina actual es = 1 entonces esto quedaría de la siguiente manera nu = 1 * 5 y el resultado es 5, así que ya sabemos que en el primer clic nu valdrá 5.

Entonces en nuestra función mas5 sabemos que:

var num_mas1:Number = num1 + nu;

Es igual a:

var num_mas1:Number = 1 + 5;

Entonces esto nos dará como resultado un 6, entonces nombre1 ahora cargara nombre6 y así sucesivamente con los demás nombres, edades y sexos.
nombre1 = SendData["nombre"+num_mas1].toString();
nombre1 = SendData["nombre6"].toString();
Bueno ya entendiendo esto veamos que hace nuestro flash cuando compilamos este código ya en el keyframe.


Página 1 de 5




Página 2 de 5




Página 3 de 5




Página 4 de 5




Página 5 de 5





Como vemos ya esta funcionando perfectamente nuestro botón SIGUIENTE y si nosotros estando en la página 5 de 5 le volvemos a dar siguiente no hará nada ya que nuestra validación:

if (pagina.text < pag_total.text)

Si pagina actual no es menor a el total de páginas entonces no se ejecutara de nuevo el código.




3.7- Ahora Veamos que hace la función menos5()

function menos5(nu2)
{
/* Aqui creamos 5 variables las cuales tomaran cada una el registro que deben de mostrar,
Vemos que num_menos1 es igual a la variable num1 + variable nu2 que se nos ha mandado de la función botones, y asi sucesivamente las otras 4 */
var num_menos1:Number = num1 + nu2;
var num_menos2:Number = num2 + nu2;
var num_menos3:Number = num3 + nu2;
var num_menos4:Number = num4 + nu2;
var num_menos5:Number = num5 + nu2;
//Aquí mostramos los 5 registros anteriores
nombre1 = SendData["nombre"+num_menos1].toString();
nombre2 = SendData["nombre"+num_menos2].toString();
nombre3 = SendData["nombre"+num_menos3].toString();
nombre4 = SendData["nombre"+num_menos4].toString();
nombre5 = SendData["nombre"+num_menos5].toString();
//Aquí mostramos las edades anteriores
edad1 = SendData["edad"+num_menos1].toString();
edad2 = SendData["edad"+num_menos2].toString();
edad3 = SendData["edad"+num_menos3].toString();
edad4 = SendData["edad"+num_menos4].toString();
edad5 = SendData["edad"+num_menos5].toString();
//Aquí mostramos los sexos anteriores
sexo1 = SendData["sexo"+num_menos1].toString();
sexo2 = SendData["sexo"+num_menos2].toString();
sexo3 = SendData["sexo"+num_menos3].toString();
sexo4 = SendData["sexo"+num_menos4].toString();
sexo5 = SendData["sexo"+num_menos5].toString();
}


Analicemos también un poco esta función realmente es tan interesante como la anterior, tomemos el primer ejemplo:

var num_menos1:Number = num1 + nu2;

Veamos que significa num1 y nu2, como se dijo en la función pasada num1 se declaro al principio y su valor es 1 y nu2 en la multiplicación de página actual por 5 menos 10.

var nu2:Number = (pag_act * 5) - 10;

Bueno imaginemos que ya se le ha dado un clic a SIGUIENTE y estamos en la página 2 entonces esto quedaría de la siguiente manera:

Var nu2:Number = (2 * 5) – 10;
Var nu2:Number = (10) – 10;
Var nu2:Number = 10 – 10;
Var nu2:Number = 0;

Entonces nu2 es igual a 0

var num_menos1:Number = num1 + nu2;
var num_menos1:Number = 1 + 0;

num_menos1 = 1;

nombre1 = SendData["nombre"+num_menos1].toString();
nombre1 = SendData["nombre1”].toString();


Y así se retrocederá 5 registros por cada campo y resulta lo mismo para edad y sexo.

Ahora nótese que si pagina actual no es mayor a 1, ya no nos permite ir mas atrás esto recordemos que lo hace:
if (pagina.text > 1)


Metamos esta función a nuestro keyframe y veamos que nos hace.




Bueno esta por demás poner una imagen ya que no se podría apreciar bien el retroceso mejor pasemos a otra cosa.

Última edición por Potro; 11/12/2007 a las 22:32
  #3 (permalink)  
Antiguo 11/12/2007, 22:14
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

TERCERA PARTE
******************************************



Pueden recordar esta imagen:




Como podrán ver si se acabaron los registros nos muestra un terrible “Undefined”, como podemos evitar esto.

A nuestra función mas5() pongámosle lo siguiente:

/*Si algún campo es nulo que no tenga información le decimos que lo deje en blanco
y así evitamos un mensaje de error del flash*/
if (nombre1 == undefined)
{
nombre1 = "";
}
if (nombre2 == undefined)
{
nombre2 = "";
}
if (nombre3 == undefined)
{
nombre3 = "";
}
if (nombre4 == undefined)
{
nombre4 = "";
}
if (nombre5 == undefined)
{
nombre5 = "";
}
if (edad1 == undefined)
{
edad1 = "";
}
if (edad2 == undefined)
{
edad2 = "";
}
if (edad3 == undefined)
{
edad3 = "";
}
if (edad4 == undefined)
{
edad4 = "";
}
if (edad5 == undefined)
{
edad5 = "";
}
if (sexo1 == undefined)
{
sexo1 = "";
}
if (sexo2 == undefined)
{
sexo2 = "";
}
if (sexo3 == undefined)
{
sexo3 = "";
}
if (sexo4 == undefined)
{
sexo4 = "";
}
if (sexo5 == undefined)
{
sexo5 = "";
}


Con esto evitan que salga ese terrible “Undefined”.





Bueno como verán hemos terminado con todo realmente ya tenemos una buena aplicación en Flash para paginar, mucho del código aquí puesto se puede mejorar aun mucho y se puede hacer mas corto, pero yo evite meterme con cosas como los for ya que mi intención es que cualquier persona que valla empezando en flash le pueda entender y no sea difícil al comprenderlo, ya de penderá mucho de cada uno de ustedes que le pueda ir reduciendo o mejorando.



Ejemplo este último código para evitar el “Undefined” podríamos meterlo con un for así quedaría más corto.


for(i=1; i<=5; i++)
{
if (this["nombre"+i] == undefined)
{ this["nombre"+i] = ""; }
if (this["edad"+i] == undefined)
{ this["edad"+i] = ""; }
if (this["sexo"+i] == undefined)
{ this["sexo"+i] = ""; }
}



Y con esto pasamos de 59 lineas a 9 lineas...


Tambien podriamos cambiar esto:

var num1:Number = 1;
var num2:Number = 2;
var num3:Number = 3;
var num4:Number = 4;
var num5:Number = 5;


por esto:

for(i=1; i<=5; i++) {
this["num"+i] = i; }


y asi muchas cosas....


Creo que por ahí se nos olvidaba poner en pantalla el número de registros obtenidos, y eso es realmente fácil, agreguemos un Dynamic Text más llamado registros y se verán cuantos registros son en total.




Bueno solo me queda agradecer a www.forosdelweb.com por todo lo que he podido aprender ahí, y a mi compañero SinguerInc que me ayudo a resolver dudas que tenia con respecto a unas variables y con ello se a logrado hacer este ejemplo.


Bueno espero seguir aportando cosas como esta un saludo su amigo…..


Este ejemplo lo pueden descargar de la siguiente dirección..

http://www.rwa.com.mx/imgforo/paginacion5.zip



POTRO – forosdelweb



Dudas: [email protected]

Última edición por Potro; 28/04/2008 a las 17:16
  #4 (permalink)  
Antiguo 11/01/2008, 11:56
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 8 meses
Puntos: 88
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

buen aporte Potro

en espera de otros....
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 11/01/2008, 16:00
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 9 meses
Puntos: 6
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

WOW!!! eso era necesario!
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 12/01/2008, 10:52
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Bueno pues ahí un pequeño aporte ahora sigo haciendo otras cosas ojala les sigan gustando..


Saludos....
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #7 (permalink)  
Antiguo 29/03/2008, 18:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

me gusto este tutorial esta muy bien explicado , te lo agradezco potro, saludos
  #8 (permalink)  
Antiguo 31/03/2008, 11:17
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Gracias a ti amigo mariox55 por darte un tiempo para leerlo...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #9 (permalink)  
Antiguo 22/04/2008, 13:17
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Muy bueno el tutorial, eres un crack!!!.

Sólo una pregunta, me gustaría insertar en la paginación una foto, le paso la ruta desde el .php y la se mostrar en una variable dinámica, pero como puedo mostrar la imagen a partir de esa url???.

Muchísimas gracias por todo!!! Sigue asi!!
  #10 (permalink)  
Antiguo 25/04/2008, 10:08
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Mi estimado con esto puedes cargar una imagen externa al flash..

loadMovie("galeria\image1.jpg", "contenedor");

contenedor es el nombre de una moviclip

entonces esto quiere decir que puedes poner tu variable de tu base donde dice image1.jpg y lsito asi cargarias la imagen.


Saludos...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #11 (permalink)  
Antiguo 25/04/2008, 11:06
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Hola Potro!

Te comento…

El caso es que tras algunas modificaciones (hacer una especie de ficha, una por página en lugar de mostrar varios registros) necesito incluir un campo de imagen. No tendría problema en mostrar la ruta de la imagen, ya que seria como añadir un campo de ttxto dinámico mas, pero si lo es mostrar la imagen en si. Lo hago con un loadMovie, como bien me indicas pero tengo varios problemas:

1. No se pasarle la variable que contiene la ruta de la imagen al loadMovie
2. Para mostrar la imagen utilizo on (press), y necesitaría que la imagen se mostrara al cargar la pagina, no al hacer clic, y si se pudiera me gustaría “limitar” o “forzar” el tamaño de la imagen a uno determinado (ej: 200 x 200px)

Te dejo mis ficheros .fla y el .php, agradezco cualquier tipo de ayuda, ya no se que hacer, porque encuentro cosas relacionadas con el tema pero no se aplicarlas correctamente.

www.nolose.es/prueba.fla <-- el .fla
www.nolose.es/prueba.rar <-- el .php (esta en .rar por que sino no te lo puedes bajar!, pero tb he subido www.nolose.es/prueba.php por si acaso)


Muchísimas gracias por todo!!.
  #12 (permalink)  
Antiguo 28/04/2008, 06:49
Avatar de pituu2  
Fecha de Ingreso: abril-2004
Ubicación: paraná entre rios
Mensajes: 274
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

mmm... no soy muy bueno en esto del actionScript, pero me parece que por lo que vi en tu fla, primero tienes que ponerle un nombre de instancia al clip donde vas a mostrar la foto, por ejemp. (contenedor).
y luego agregar en el codigo donde muestra todas las variables.
contenedor.loadMovie(imagen1) o algo asi
__________________
pituu2
  #13 (permalink)  
Antiguo 28/04/2008, 15:27
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

nolose te dejo un ejemplo de lo que quieres hacer la verdad no es dificil solo debes de saber donde colocar el:

loadMovie(img, "contenedor");

Te dejo el ejemplo para descargar:
http://www.rwa.com.mx/imgforo/paginacion_con_img.zip

y un ejemplo ya en linea:
http://www.rwa.com.mx/imgforo/img.html

y explico un poco.....


Lo unico que tienes que agregar es un MoviClip con el nombre de contenedor y agregar esta linea loadMovie(img, "contenedor"); en 3 partes:

Cuando cargas todo por primera ves.

var SendData:LoadVars = new LoadVars();
SendData.load("datos.php");
var num1:Number = 1;
SendData.onLoad = function (success){
if (success) {
tipo = this["tipo"+num1].toString();
img = this["img"+num1].toString();
nomimg = this["img"+num1].toString();
loadMovie(img, "contenedor");
registros = this.registros;
var registro2:Number = registros / 1;
pag_total.text = Math.ceil(registro2);
}
}



Cuando avanzas un registro

function mas5(nu)
{
var num_mas1:Number = num1 + nu;
tipo = SendData["tipo"+num_mas1].toString();
img = SendData["img"+num_mas1].toString();
nomimg = SendData["img"+num_mas1].toString();
loadMovie(img, "contenedor");
}



Cuando retrocedes un registro

function menos5(nu2)
{
var num_menos1:Number = num1 + nu2;
tipo = SendData["tipo"+num_menos1].toString();
img = SendData["img"+num_menos1].toString();
nomimg = SendData["img"+num_menos1].toString();
loadMovie(img, "contenedor");
}





/////////////////////////////////////


bueno espero que te sirva para lo que pretendes y saludos a todos................
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #14 (permalink)  
Antiguo 29/04/2008, 06:08
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Simplemente GENIAL!.

Ya solo me queda fijar el tamaño de la imagen que se muestra en el contenedor a unos pixels determinados, aunque se deforme, no importa… ¿sabes por casualidad como es?.

Permíteme darte la enhorabuena, porque explicas las cosas de manera que cualquiera puede entenderlo, y eso es algo que no todo el mundo tiene la capacidad de hacer…

Espero que el tema de la imagen anime a otros usuarios a implementarlo también en sus paginaciones, ya que creo que es algo muy curioso.

Muchas gracias por todo, un tutorial fenomenal, sigue así!!
  #15 (permalink)  
Antiguo 29/04/2008, 14:12
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Re: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - vealo aqu

Mi estimado nolose con respecto al tamaño de las imagenes eso ya lo puedes consultar en el foro no me quisiera salir del tema disculpa, y si gracias a ti ya esto se esta completando mas ahora estoy trabajando para reducir todo el codigo y no se vea tan extenso.

Saludos...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #16 (permalink)  
Antiguo 29/05/2008, 15:21
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

Hola de nuevo Potro!

Cuanto tiempo jejejeje. Ya he implantado el script flash, y me acabo de dar cuenta de un pequeño problemilla. Cuando pones mas de 9 páginas, de queda pillado!!!.

Pasa lo siguiente:

Yo meto un registro por pagina, pues bien, cuando tengo mas de 9 (osea un numero de paginas con mas 1 cifra), no avanza de la 2º pagina al darle al boton siguiente…

Te dejo un enlace a mi codigo: www.nolose.es/script.txt

¿Tienes alguna idea de a que podría deberse???

Gracias por todo!!!

Última edición por nolose; 30/05/2008 a las 10:54
  #17 (permalink)  
Antiguo 30/05/2008, 12:32
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

Hola mi estimado aqui reportandome te doy la solución.

A tu funcion botones agrega estas y cambia estas lineas:

function botones(valorbtn)
{
//Valido si el botón “SIGUIENTE” fue oprimido y si es así ejecuto lo siguiente
if (valorbtn == 1)
{
//Con esto volvemos un campo numerico a nuestra variable
var pag_all:Number = Number(pag_total.text);

//Primero validamos si el número de página no ha rebasado el número de páginas obtenidas
if (pagina.text < pag_all)//aqui modificamos
{
//si el número de paginas no ha sido rebasada ejecutamos lo siguiente
//La variable pag_act toma el valor en ese momento de pagina.text
var pag_act:Number = Number(pagina.text);
//creamos la variable nu que será el resultado de la variable pag_act * 5
var nu:Number = pag_act;
//Mandamos a llamar a la funcción mas5 y le mandamos la variable nu
mas5(nu)
//Le damos un nuevo valor a pagina.text sumandole 1
pagina.text = pag_act + 1;
}
//Valido si el botón “ANTERIOR” fue oprimido y si es así ejecuto lo siguiente
} else if (valorbtn == 2)
{
//Con esto volvemos nuestra variable numerica
var pagina_all:Number = Number(pagina.text);

//Aqui hacemos una validación antes para ver si la variable pagina es mayor a 1 si es así se ejecuta
if (pagina_all > 1)//aqui modificamos
{
//La variable pag_act toma el valor en ese momento de pagina.text
var pag_act:Number = Number(pagina.text);
/*creamos la variable nu2 que será el resultado de pag_actual * 5 - 10 esto nos ayudara a descontarle 5 registros a nuestra paginación*/
var nu2:Number = (pag_act) - 2;

//Mandamos a llamar a la función menos5 y le mandamos la variable nu2
menos5(nu2)
//Le damos un nuevo valor a pagina.text descontandole 1
pagina.text = pag_act - 1;
}
}
}



Te explico rapido por que el error es que la variable estaba declarada como texto entonces al hacer la validacion tomaba el primer número y no los dos dígitos entonces hay que volverlo numerico para que se pueda hacer bien la comparación.


Bueno mil gracias por ir viendo esto detalles y pues a seguirle saludos.......................


Descarga: http://www.rwa.com.mx/imgforo/paginacion_con_img.zip

Ejemplo: http://www.rwa.com.mx/imgforo/img.html
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #18 (permalink)  
Antiguo 30/05/2008, 13:51
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

Eres un genio!!!!. Fenomenal todo, gracias a ti he coneguisdo una notaza y felicitaciones de parte de mi profesor de programación xDDD.

Gracias!!!!
  #19 (permalink)  
Antiguo 30/05/2008, 15:00
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 8 meses
Puntos: 88
Cita:
Iniciado por nolose Ver Mensaje
Eres un genio!!!!. Fenomenal todo, gracias a ti he coneguisdo una notaza y felicitaciones de parte de mi profesor de programación xDDD.

Gracias!!!!
Ahora de tarea, tendra que realizar algo similar como lo que hizo Potro

haber que inventas nolose

consideralo, tu nota de graduacion



P.D. Buena mejora en el codigo Potro
  #20 (permalink)  
Antiguo 31/05/2008, 08:27
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

Pues se hace lo que se puede jejeje..

y para los amigos que quieran ver como se reduce el codgio ya di la segunda entrega:

http://www.forosdelweb.com/f62/pagin...ntrega-581413/

ahi veran como se comprime el codigo para que no sea muy extenso..


Saludos.....
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #21 (permalink)  
Antiguo 27/09/2008, 14:50
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 19 años, 2 meses
Puntos: 12
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

genial el paginador
me salvaste de un gran proyecto

Slaudos
  #22 (permalink)  
Antiguo 29/09/2008, 23:19
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

Bueno pues como veras ya hay uno con codigo mas corto si te sirve me dara mucho gusto MoDoRro
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #23 (permalink)  
Antiguo 08/02/2009, 14:07
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 19 años, 2 meses
Puntos: 12
Respuesta: PAGINACION EN FLASH - sin cargar todos los registros de un solo golpe - ve

un codigo mas corto?

que bien!

ya lo encontre.

PD.- Felicidades por tu proyecto
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

SíEste tema le ha gustado a 4 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 11:12.