Comunidad de diseño web y desarrollo en internet online

echo php a flash ¡error! ¿demasiadas variables enviadas?????

Citar            
MensajeEscrito el 16 Ene 2007 12:16 pm
Hola,
os comento mi problema a ver si alguien puede hecharme un cable.
un script php pasa unas variables a un flash (LoadVars) que muestra tres imagenes de libros y una flecha a cada lado para navegar por las imágenes de más q no se vean
todo funciona bien hasta que hay cierto número de libros (más o menos 9) que solo me muestra los 3 primeros pero luego las flechas de cambio no me funcionan.
el código del php es este :

Código :

$idioma = $HTTP_POST_VARS['idioma'];
$coleccion = $HTTP_POST_VARS['coleccion'];
$qr = mysql_query("SELECT * FROM ".$idioma." WHERE coleccion='".$coleccion."'");   
$n = mysql_num_rows($qr);
$datos="&nlibros=".$n;
for ($i=0;$i<$n;$i++){
   $datos.="&portada".($i+1)."=".mysql_result($qr,$i,'libro');
}
$datos.="&primero=1&ultimo=3";// primero y ultimo q se muestra en el flash
echo $datos;
cerrar_bd($link);


y el codigo de la flecha avanzar en el flash(p.ej) es este

Código :

//c es la variable loadvars
   if (c.nlibros>c.ultimo) {
      _root.valor1.text = "portada"+(int(c.primero)+1);
      _root.valor2.text = "portada"+(int(c.primero)+2);
      _root.valor3.text = "portada"+(int(c.ultimo)+1);
      mini1.a.loadMovie("./imagen/"+c["portada"+(int(c.primero)+1)]+"/pic.jpg");
      mini2.b.loadMovie("./imagen/"+c["portada"+(int(c.primero)+2)]+"/pic.jpg");
      mini3.c.loadMovie("./imagen/"+c["portada"+(int(c.ultimo)+1)]+"/pic.jpg");
      c.primero = int(c.primero)+1;
      c.ultimo = int(c.ultimo)+1;
   }


¿como es que me funciona perfectamente hasta llegar a un volumen de libros?
¿puede ser que la variable que le envio en el script php sea demasiado grande y por eso falle?
no se ,estoy un poco perdido
una manito???
gracias chicos/as

Por eloy

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Ene 2007 02:09 pm
Creo que el problema es que las variables las envías mal, yo para eso uso el típico
echo "&nom_variable_que_vas_a_enviar=$variable_php":
y así tantos echos como necesites.
Luego con ActionScript recoges las variables y las usas en lo que quieras.
Yo he llegado a comunicar 1000 datos entre PHP y Flash y no tengo problemas.

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ene 2007 03:22 pm
gracias por tu respuesta.
Ya solucioné el problema, era cosa de la codificación al pasar texto de mysql con php a flash daba problemas cuando había alguna tilde o "ñ" por no usar el comando "utf8_encode" de php
al encontrar uno con este problema pues ya no me pasaba el resto.
solucionado.
el php queda así:

Código :

$qr = mysql_query("SELECT * FROM ".$idioma." WHERE coleccion='".$coleccion."'");   
$n = mysql_num_rows($qr);
$datos="&nlibros=".$n;
for ($i=0;$i<$n;$i++){
   $datos.="&portada".($i+1)."=".mysql_result($qr,$i,'libro');
}
$datos.="&";
$archivo = fopen("data.txt" , "w");
fputs ($archivo, $datos);
fclose ($archivo);
echo utf8_encode($datos);


gracias por tu ayuda
saludos a tod@s

Por eloy

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Ene 2007 03:24 pm

Código :

$archivo = fopen("data.txt" , "w");
fputs ($archivo, $datos);
fclose ($archivo);

perdón, esta parte de código se me coló. simplemente era para hacer unas comprobaciones.

Por eloy

6 de clabLevel



 

firefox

 

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