Comunidad de diseño web y desarrollo en internet online

Problema con flash PHP y MYSQL. Una ayudita por favor!!!

Citar            
MensajeEscrito el 22 Ago 2008 02:54 pm
M e pueden ayudar amigos!!! Un favor estuve haciendo conexiones con flash y mysql mediante php alquien me puede ayudar porfa no funciona y no se donde esta el error:
tngo una bd que se llama mmsapp y una tabla que se llama mmschat con campos como ser pin varchar (25), numero int (25), etc
tngo un php :

<?php
$HOST = "localhost";
$USER = "root";
$PASS = "123";
$DATABASE = "mmsapp";
$conex = mysql_connect($HOST, $USER, $PASS);
mysql_select_db($DATABASE, $conex);
$sql = "SELECT * FROM mmschat;
$result = mysql_query($sql);
mysql_close();
$respuesta="";
$i=0;
while ($row = mysql_fetch_array($result)){
$respuesta.= "&id$i=".$row['id'];
$respuesta.= "&numero$i=".$row['numero'];
$respuesta.= "&imagen$i=".$row['imagen'];
$i++;
}
$respuesta.="&";
echo utf8_encode($respuesta);



y luego en la parte del flash tengo :


var archivoPHP:LoadVars = new LoadVars();
archivoPHP.load("Consulta.php");
archivoPHP.onLoad = function() {

texto_txt.text = this.id;
texto1_txt.text = this.numero;
texto2_txt.text = this.imagen;
};

pero no se que pasa!!!!!!! alguien me ayude porfa

GRACIAS!!

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 03:26 pm

Código :

$sql = "SELECT * FROM mmschat;
ahi le falta la doble comilla al final de la cadena

Lo primero que debes de hacer es, cambiar la ruta de acceso al php

Código :

archivoPHP.load("http://localhost/Consulta.php");

ó

Código :

archivoPHP.load("http://tusitio.com/Consulta.php");

Esto te va a funcionar si trabajas desde el ide de flash.

si lo dejas como archivoPHP.load("Consulta.php"); necesitaras entrar a la forzosamente a la direccion web donde desees probar el archivo swf, ya sea en local (localhost) o directo en tu hosting.

Lo segundo que debes de hacer, es notar que el php te devuleve una cadena en este formato

Código :

&id0=1&nombre0=dato&id1=2&nombre1=otro dato&id2


por lo que en tu swf debes de poner

Código :

var archivoPHP:LoadVars = new LoadVars();
//archivoPHP.load("http://localhost/Consulta.php");
archivoPHP.load("Consulta.php");
archivoPHP.onLoad = function(exito:Boolean) {
   if(exito){ // si se cargo
      texto1_txt.text = archivoPHP.id0;
      texto1_txt.text = archivoPHP.nombre0;
      texto2_txt.text = archivoPHP.id1;
      texto2_txt.text = archivoPHP.nombre1; 
      // nota como las variables coinciden 
      // con el formato de cadena que te da el php
   }else{
      texto1_txt.text ="Error";
   }
};

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 03:46 pm
hey muchas gracias por el interes pero te cuento que no daçtngo instalado el xamp y estoy enla carpeta htdocs estoy publicando ahi el conenido pero no me sale me sigue la variable undefined

Gracias

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 03:49 pm
en el flash:

var archivoPHP:LoadVars = new LoadVars();
//archivoPHP.load("http://localhost/Consulta.php");
archivoPHP.load("Consulta.php");
//archivoPHP.onLoad = function() {
archivoPHP.onLoad = function(exito:Boolean) {
if (exito) {
texto_txt.text = archivoPHP.id0;
texto_txt.text = archivoPHP.numero0;
texto1_txt.text = archivoPHP.id1;
texto1_txt.text = archivoPHP.numero1;
//texto1_txt.text = this.numero;
//texto2_txt.text = this.imagen;
//for (var i:Number = 0; this["titulo"+i] != undefined; i++) {
//trace("Titulo"+i+": "+this["titulo"+i]);
//trace("Texto"+i+": "+this["texto"+i]);
//trace("Autor"+i+": "+this["autor"+i]);
//}
} else {
texto1_txt.text ="Error";
//trace("error al cargar el script php");
}
//texto_txt.htmlText+= this["id"];

};


en el php:

<?php
$HOST = "localhost";
$USER = "root";
$PASS = "123";
$DATABASE = "mmsapp";
$conex = mysql_connect($HOST, $USER, $PASS);
mysql_select_db($DATABASE, $conex);
$sql = "SELECT * FROM mmschat";
$result = mysql_query($sql);
mysql_close();
$respuesta="";
$i=0;
while ($row = mysql_fetch_array($result)){
$respuesta.= "&id$i=".$row['id'];
$respuesta.= "&numero$i=".$row['numero'];
$respuesta.= "&imagen$i=".$row['imagen'];
$i++;
}
$respuesta.="&";
echo utf8_encode($respuesta);

Gracias de nuevo

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 03:57 pm
abre el php en el navegador y pon lo que te devuelve.
http://localhost/Consulta.php

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 04:08 pm
&id0=1&numero0=72553143&imagen0=c:/7255343/1.jp&

quiere decir que esta jalando todos los datos verdad? pero en el flash solo me esta mostrando el resultado de uno de ellos en este caso el 72553143 y en los otros campos me sale como undefinded

Gracias y disculpas por postear el mismo mensaje en diferentes partes soy un poco nuevo en esto y ya aprendo y entiendo como funciona.

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 04:34 pm
Si, el php está correcto.
esta linea

Código PHP :

$respuesta.="&";

cambiala por esta otra

Código PHP :

$respuesta.="&total=$i&";

Esto nos ayudara a saber el total de registros que hay

Código ActionScript :

var archivoPHP:LoadVars = new LoadVars();
archivoPHP.load("http://localhost/foo.php"); // aqui por la ruta completa a a tu archivo en el servidor(local o web).

var total:Number = 0;
var i=0;
archivoPHP.onLoad = function(exito:Boolean) {
   if(exito){
      total = Number(archivoPHP.total); // traemos el numero de registros que hay
   trace("Hay " + total + " registros"); //Total de registros
      if(total>0){ // si el total es mayor que cero
         for(var i=0; i<total; i++){
            trace("id" + i + ": " + this["id" + i] + " :: " + this["nombre" + i]);
         }
      }else{
         trace("No hay ningun registro.")
      }
   }else{
      trace("Error")
   }
};

Esto ya debe de funcionar bien

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 04:36 pm
Ahh se me olvido mencionarte, NO uses rutas absolutas a tus imagenes, quítales el C:/...

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 04:37 pm
ok loestoy intentando y te aviso mas tarde ERES UN EXPERTO!!!!!
Gracias !!!!Te debo una amigo!!

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 04:41 pm
una consulta mas es necesario que use rutas absolutas como crees que le pueda hacer para que funcione?

Gracias

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 04:46 pm
No es necesario que uses rutas absolutas, el acomodo de las rutas relativas depende de como este estructurado tu sitio, vamos, depende de tus necesidades.

Pero no, no es necesario que las uses. Pon como esta estructurado el sitio, y que es lo que quieres hacer y vemos.

Saludos.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 09:33 pm
amigo un favro contarte que no puedo sacar todos los valores haber te muestro:
&id0=1&numero0=72553143&imagen0=c:/7255343/1.jp&video0=c:/7255343/1.3g&audio0=c:/7255343/1.rt&mensaje0=c:/7255343/1.tx&flag0=1&fecha0=160408&hora0=123020&aux0=&id1=2&numero1=70611070&imagen1=123124321&video1=4312412&audio1=34123&mensaje1=41234&flag1=123412&fecha1=341323&hora1=41234&aux1=12

bueno al momento jalar en textos dinamicos le pongo lo siguiente y sigue sin jalar:

var archivoPHP:LoadVars = new LoadVars();
archivoPHP.load("http://localhost/foo.php");
// aqui por la ruta completa a a tu archivo en el servidor(local o web).
var total:Number = 0;var i=0;
archivoPHP.onLoad = function(exito:Boolean)
{
if(exito){ total = Number(archivoPHP.total);
// traemos el numero de registros que hay trace("Hay " + total + " registros");
//Total de registros
if(total>0){ // si el total es mayor que cero
for(var i=0; i<total; i++){
trace("id" + i + ": " + this["id" + i] + " :: " + this["nombre" + i]);
}
}else{
trace("No hay ningun registro.")
}
}else{
trace("Error") }
};
como los muestro en mis cuadros de texto? ??? :o

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 09:34 pm
cambie las rutas de acceso a mi sevidor

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 09:49 pm
Creo que te estas ahogando en un vaso de agua, el ejemplo que te puse era para que te fijaras como hacerlo, y no directamente usarlo al cop&paste

Una pregunta, como se llaman tus cuadros de texto?
osea como piensas volcar la informacion??

Básicamente si tu pones adentro del if(total>0)
campo1_txt.text = this.id0;
campo2_txt.text = this.numero0;

y asi sucesivamente...

archivoPHP.load("http://localhost/foo.php"); cuidado aqui, tu archivo se llama foo.php???
ese yo lo puse para ahcer el ejemplo, pero no se si ya te fijaste si es asi el tuyo tambien. (El tuyo creo que era Consulta)

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Ago 2008 09:50 pm
ahora si ya lo logre! muchisimas gracias estab cometiendo un pequeño error que fue de forma.

gracias por la ayuda amigo

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Ago 2008 10:01 pm

josephvale escribió:

ahora si ya lo logre! muchisimas gracias estab cometiendo un pequeño error que fue de forma.

gracias por la ayuda amigo


Ok, mucha suerte!! :)
Saludos.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 25 Ago 2008 03:37 pm
Una consulta amigo sigo con el mismo caso de saca info de mi bd peo ahora necesito sacar las imagens que esta ahi con la direccion absoluta es decir c:/72553142/imagen1.jpg (algo asi) debo sacarlas de esta manera???? holder_mc.loadMovie = archivoPHP.imagen0;

o como debo hacerlo

Gracias. Jose Luis

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 25 Ago 2008 10:45 pm
Porque debes de usar rutas absolutas???

Para lo de las imagenes no uses loadmovie, usa Moviecliploader, asi podras controlar la precarga de manera mas estable.

Sin embargo para hacerlo con loadmovie solo bastaría con holder_mc.loadMovie(archivoPHP.imagen0);

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 25 Ago 2008 10:54 pm
debo utilizar direcciones absolutas para no influir en el peso de las imagenes al momento de cargarlas en la web y medio que no puedo discuirle eso a mi jefe .... :lol: el decidio eso ejejje en fin.... de todas maneras queria hacerte una pregunta mas debo hacer que la ultima imagen que llegue la primera que se muestre como le puedo hacer????

GRACIAS AMIGO sos una luz la verdad.

Por josephvale

19 de clabLevel



 

msie
Citar            
MensajeEscrito el 25 Ago 2008 11:07 pm

josephvale escribió:

debo utilizar direcciones absolutas para no influir en el peso de las imagenes al momento de cargarlas en la web y medio que no puedo discuirle eso a mi jefe.


:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

Me quiero volver chango!!!

* se re compone

Mira, sin entrar en discusión en lo primero, si usas rutas absolutas... Para cambiar el orden de las imagenes, lo puedes hacer de varias formas.
En tu consulta sql puedes usar el atributo Order By ASC|DESC para cambiar el órden de tus registros. Esa es una...
Otra es que en el flash primero metas todo a un arreglo de objetos y luego ese arreglo lo inviertes...(Más complicadas las cosas :()

Ahora si, con lo de las rutas.
1.- La ruta no influye en el peso de los archivos, de donde saco eso!! :bate: :bate: :bate:
2.- Si subes a tu hosting la app así con las rutas absolutas, vas a tener un monton de problemas, si los del host no te permiten acceder a las rutas que tu estas solicitando. Lo idel es que uses rutas relativas, sin el C:/...etc quitale la raíz.

Te prometo y juro que no va a pasar nada!!!
Es mas si usas moviecliploader para cargar las imagenes, puedes hacer una prueba de concepto y usar ruta relativa y absoluta, y comprobarle a tu jefe que el peso de las imagenes no varia.

Te repito, si usas rutas absolutas con la raíz C:/ puede que tengas problemas de acceso.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox

 

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