Foros del Web » Programando para Internet » PHP »

Problemas con Php y Flash

Estas en el tema de Problemas con Php y Flash en el foro de PHP en Foros del Web. Saludos a todos, soy nuevo en la programacion php y cree este nuevo tema por que tengo una duda con un codigo que hice para ...
  #1 (permalink)  
Antiguo 06/02/2011, 22:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Exclamación Problemas con Php y Flash

Saludos a todos, soy nuevo en la programacion php y cree este nuevo tema por que tengo una duda con un codigo que hice para conectar una base de datos con flash

El codigo php es el siguiente


<?
//indicar servidor
$tienda_con=mysql_pconnect("localhost","root");
//indicar la base de datos
mysql_select_db("curso-flash", $tienda_con);
//sentencia sql
$sentencia="select * from libros";
//enviar sentencia
$datos= mysql_query ($sentencia, $tienda_con);
$fila=mysql_fetch_assoc ($datos);

//recuperar datos
$actual=0;
do {
$nombre=$fila['nombre_libro'];
print "&nombre$actual=" . $nombre;
$actual ++;
}while ($fila = mysql_fetch_assoc ($datos));

// enviar a flash
print "&total=" . $actual;
?>

y el codigo en flash

el fotograma 1
loadVariables ("listado.php",this, "GET" );
nombre=new Array();

en el fotograma 10

for (i=0;i<total; i ++) {
nombre_tem = " nombre " + i;
nombres[i] = eval(nombre_tem);
}

this.libro.datos.titulo.text=nombres[5];

Bueno el problema consiste que el codigo en flash no se conecta correctamente a la base de datos, ya que aparece undefined, el error al parecer se encuentra en el bucle for. Este codigo es de un tutorial que estoy estudiando es de videotutoriales.es, si alguno lo ha hecho sabra de cual hablo. Flash si logra conectarse a la base de datos ya que utilize este codigo para probarlo

this.libro.datos.titulo.text=nombre5;

Esta es la ruta de destino, si me la reconoce y muestra el dato ubicado en la variable nombre, pero cuando hago el bucle for, que se utiliza para enumerar los datos de la variable nombre y mostrarlo como un listado no me lo reconoce, ya revise varias veces el codigo y las capas en flash . Como les dije si hace conexion con el servidor, pero no me reconoce el for. Si alguno sabe la razon por favor avisenme, ya que me gusta aprender este nuevo lenguaje La palabra eval es un comando de actionscript que sirve para evaluar la variable nombre.
  #2 (permalink)  
Antiguo 06/02/2011, 22:49
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 3 meses
Puntos: 51
Respuesta: Problemas con Php y Flash

Una pregunta, tenés certeza de que te llegan las variables? tendrías que imprimir con trace lo que retorna listado.php. De todas formas, no entiendo como se relaciona el form con la base de datos ( tampoco el sentido de darle valores al array como se los estás dando ). Creo que deberías poner algo más de código para que se entienda lo que haces.
  #3 (permalink)  
Antiguo 07/02/2011, 01:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problemas con Php y Flash

Cita:
Iniciado por walterdevel Ver Mensaje
Una pregunta, tenés certeza de que te llegan las variables? tendrías que imprimir con trace lo que retorna listado.php. De todas formas, no entiendo como se relaciona el form con la base de datos ( tampoco el sentido de darle valores al array como se los estás dando ). Creo que deberías poner algo más de código para que se entienda lo que haces.
Hola gracias por responder, bien te explico lo de la matriz en el tutorial se crea la matriz con la intencion de mostrar un listado de libros. La base de datos es de una libreria, y el codigo php de arriba es un archivo que se llama "listado.php", y hay puedes observar como se conecta con el usuario "root" sin contraseña. La base datos esta en xampp, y se llama curso flash

Este el codigo de la base de datos, y lo que se quiere hacer con flash es mostrar los datos de la tabla libros

# Estructura de tabla para la tabla `categorias`
#

DROP TABLE IF EXISTS `categorias`;
CREATE TABLE `categorias` (
`categoriaid` int(11) NOT NULL auto_increment,
`nombre_categoria` varchar(100) NOT NULL default '',
PRIMARY KEY (`categoriaid`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

#
# Volcar la base de datos para la tabla `categorias`
#

INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (1, 'Programación');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (2, 'Bases de datos');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (3, 'Multimedia');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (4, 'Internet');

# --------------------------------------------------------

#
# Estructura de tabla para la tabla `editores`
#

DROP TABLE IF EXISTS `editores`;
CREATE TABLE `editores` (
`editorid` int(11) NOT NULL auto_increment,
`nombre_editorial` varchar(100) NOT NULL default '',
PRIMARY KEY (`editorid`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

#
# Volcar la base de datos para la tabla `editores`
#

INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (1, 'Anaya multimedia');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (2, 'MC Grad Hill');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (3, 'Para-info');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (4, 'Parafox');

# --------------------------------------------------------

#
# Estructura de tabla para la tabla `libros`
#

DROP TABLE IF EXISTS `libros`;
CREATE TABLE `libros` (
`libro_id` int(11) NOT NULL auto_increment,
`nombre_libro` varchar(100) NOT NULL default '',
`descripcion` longtext NOT NULL,
`categoriaid` int(11) NOT NULL default '0',
`editorid` int(11) NOT NULL default '0',
`precio` double NOT NULL default '0',
`entrega` int(11) NOT NULL default '0',
`imagen` varchar(100) NOT NULL default '',
PRIMARY KEY (`libro_id`)
) TYPE=MyISAM AUTO_INCREMENT=25 ;

#
# Volcar la base de datos para la tabla `libros`
#

INSERT INTO `libros` (`libro_id`, `nombre_libro`, `descripcion`, `categoriaid`, `editorid`, `precio`, `entrega`, `imagen`) VALUES (1, 'PREMIERE PRO', 'La colección Manuales Imprescindibles le acerca a los productos líderes de la informática de forma amena y precisa. Como su nombre indica, encontrará la información imprescindible para convertirse en un experto usuario en los temas más importantes de cada aplicación. No dude más, observe la lista de esta articulada colección, con lenguaje propio, ejemplos prácticos y recursos de estilo muy marcados.', 3, 2, '21.85', 5, 'premiere01.jpg');
  #4 (permalink)  
Antiguo 07/02/2011, 01:42
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Exclamación Respuesta: Problemas con Php y Flash

La base de datos se llama curso-flash. El codigo php se encuentra en un archivo llamado "listado.php". Lo que se quiere hacer con flash es mostrar una matriz con los nombres de los libros de la tabla libros

Este es el codigo de la base de datos

# Estructura de tabla para la tabla `categorias`
#

DROP TABLE IF EXISTS `categorias`;
CREATE TABLE `categorias` (
`categoriaid` int(11) NOT NULL auto_increment,
`nombre_categoria` varchar(100) NOT NULL default '',
PRIMARY KEY (`categoriaid`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

#
# Volcar la base de datos para la tabla `categorias`
#

INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (1, 'Programación');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (2, 'Bases de datos');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (3, 'Multimedia');
INSERT INTO `categorias` (`categoriaid`, `nombre_categoria`) VALUES (4, 'Internet');

# --------------------------------------------------------

#
# Estructura de tabla para la tabla `editores`
#

DROP TABLE IF EXISTS `editores`;
CREATE TABLE `editores` (
`editorid` int(11) NOT NULL auto_increment,
`nombre_editorial` varchar(100) NOT NULL default '',
PRIMARY KEY (`editorid`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

#
# Volcar la base de datos para la tabla `editores`
#

INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (1, 'Anaya multimedia');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (2, 'MC Grad Hill');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (3, 'Para-info');
INSERT INTO `editores` (`editorid`, `nombre_editorial`) VALUES (4, 'Parafox');

# --------------------------------------------------------

#
# Estructura de tabla para la tabla `libros`
#

DROP TABLE IF EXISTS `libros`;
CREATE TABLE `libros` (
`libro_id` int(11) NOT NULL auto_increment,
`nombre_libro` varchar(100) NOT NULL default '',
`descripcion` longtext NOT NULL,
`categoriaid` int(11) NOT NULL default '0',
`editorid` int(11) NOT NULL default '0',
`precio` double NOT NULL default '0',
`entrega` int(11) NOT NULL default '0',
`imagen` varchar(100) NOT NULL default '',
PRIMARY KEY (`libro_id`)
) TYPE=MyISAM AUTO_INCREMENT=25 ;

#
# Volcar la base de datos para la tabla `libros`
#

INSERT INTO `libros` (`libro_id`, `nombre_libro`, `descripcion`, `categoriaid`, `editorid`, `precio`, `entrega`, `imagen`) VALUES (1, 'PREMIERE PRO', 'La colección Manuales Imprescindibles le acerca a los productos líderes de la informática de forma amena y precisa. Como su nombre indica, encontrará la información imprescindible para convertirse en un experto usuario en los temas más importantes de cada aplicación. No dude más, observe la lista de esta articulada colección, con lenguaje propio, ejemplos prácticos y recursos de estilo muy marcados.', 3, 2, '21.85', 5, 'premiere01.jpg');
INSERT INTO `libros` (`libro_id`, `nombre_libro`, `descripcion`, `categoriaid`, `editorid`, `precio`, `entrega`, `imagen`) VALUES (2, 'POSTPRODUCCIÓN DIGITAL DE SONIDO POR ORDENADOR', 'Este libro analiza una completa panorámica sobre el trabajo de postproducción digital de sonido por ordenador. La obra explica los programas más conocidos del mercado y está escrita de forma clara y concisa, lo que la convierte en un manual imprescindible tanto para el usuario principiante interesado en la manipulación de sonido por medio de ordenador, como para el profesional que desee profundizar en el estudio de este campo.', 3, 1, '14.25', 5, 'producionsonido.jpg');
INSERT INTO `libros` (`libro_id`, `nombre_libro`, `descripcion`, `categoriaid`, `editorid`, `precio`, `entrega`, `imagen`) VALUES (4, 'EL LIBRO OFICIAL DE ADOBE ILLUSTRATOR CS', 'Este libro forma parte de la serie de formación oficial de Adobe Systems Incorporated, desarrollada con la colaboración de sus expertos. Se compone de diecinueve capítulos que analizan los aspectos más importantes de Illustrator CS, con excelentes técnicas y trucos para desarrollar sus proyectos de forma efectiva.', 3, 2, '36.32', 5, 'ilustratos.jpg');
  #5 (permalink)  
Antiguo 07/02/2011, 01:45
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 3 meses
Puntos: 51
Respuesta: Problemas con Php y Flash

Insisto en que deberías revisar, primero si listado.php devuelve correctamente las variables y segundo, si flash está pudiendo leer el script. Podrías probar también usar la url completa a listado.php ( ej. http://localhost/listado.php ).
  #6 (permalink)  
Antiguo 07/02/2011, 01:57
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problemas con Php y Flash

Cita:
Iniciado por walterdevel Ver Mensaje
Insisto en que deberías revisar, primero si listado.php devuelve correctamente las variables y segundo, si flash está pudiendo leer el script. Podrías probar también usar la url completa a listado.php ( ej. [url]http://localhost/listado.php[/url] ).
SI php corre perfectamente amigo, y por supuesto el archivo esta en la url localhost/listado.php. Y me devuelve por supuesto el nombre del libro, como se indica en la sentencia. El problema como mencione esta en la conexion con flash, Que no me reconoce la funcion for, pero si esta funcion
this.libro.datos.titulo.text=nombre5

que me devuelve el nombre del libro numero 5 de la tabla libros

La funcion for es para mostrar en un arreglo los datos del libro y ademas contar los elementos que posee el libro.

Última edición por leon3000; 07/02/2011 a las 02:04
  #7 (permalink)  
Antiguo 07/02/2011, 02:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 3 meses
Puntos: 51
Respuesta: Problemas con Php y Flash

Tenés definida i?

Si no es así, puedes probar con:

Código Javascript:
Ver original
  1. for (var i=0;i<total; i ++) {

y revisa los espacios entre las comillas aquí:

Código Javascript:
Ver original
  1. nombre_tem = " nombre " + i;
  #8 (permalink)  
Antiguo 07/02/2011, 02:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problemas con Php y Flash

Cita:
Iniciado por walterdevel Ver Mensaje
Tenés definida i?

Si no es así, puedes probar con:

Código Javascript:
Ver original
  1. for (var i=0;i<total; i ++) {

y revisa los espacios entre las comillas aquí:

Código Javascript:
Ver original
  1. nombre_tem = " nombre " + i;

amigo gracias por tu respueta, aplique los cambios que me dijistes pero igual sale undefined, hagamos algo, si puedes me das tu correo y yo te mando los archivos y asi tu los puedes ver merjor y probarlos si tienes un servidor
  #9 (permalink)  
Antiguo 07/02/2011, 03:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 3 meses
Puntos: 51
Respuesta: Problemas con Php y Flash

Acá te paso la solución, cambiás esto:


por esto:

Código Javascript:
Ver original
  1. for (i=0;i<total; i ++) {
  2. nombre_tem = " nombre " + i;
  3. nombres[i] = eval(nombre_tem);
  4. }
  5.  
  6. this.libro.datos.titulo.text=nombres[5];

Código Javascript:
Ver original
  1. var nombres = new Array();
  2. for (var i=0;i<total; i ++) {
  3.    nombre_tem = "nombre"+ i;
  4.    nombres[i] = eval(nombre_tem);
  5.    //trace(nombres[i]);
  6.  
  7. };
  8.  
  9. this.libro.datos.titulo.text=nombres[5];

Saludos!
  #10 (permalink)  
Antiguo 07/02/2011, 14:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Problemas con Php y Flash

Cita:
Iniciado por walterdevel Ver Mensaje
Acá te paso la solución, cambiás esto:


por esto:

Código Javascript:
Ver original
  1. for (i=0;i<total; i ++) {
  2. nombre_tem = " nombre " + i;
  3. nombres[i] = eval(nombre_tem);
  4. }
  5.  
  6. this.libro.datos.titulo.text=nombres[5];

Código Javascript:
Ver original
  1. var nombres = new Array();
  2. for (var i=0;i<total; i ++) {
  3.    nombre_tem = "nombre"+ i;
  4.    nombres[i] = eval(nombre_tem);
  5.    //trace(nombres[i]);
  6.  
  7. };
  8.  
  9. this.libro.datos.titulo.text=nombres[5];

Saludos!
Muchas gracias amigo, con ese cambio si funciono el codigo. Es probable que el codigo del tutorial no haya funcionado por que la version de actionscript del codigo que esta en el tutorial no esta actualizada

Etiquetas: conexion, flash, undefined
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




La zona horaria es GMT -6. Ahora son las 03:45.