Ya vuelvo a estar atascado en otro problema para mi.
Supongamos. Tengo una BD en MySQL donde tengo unos determinados datos. Como por ejemplo
Código :
Columna ID -- Columna idioma -- Columna texto
Y en cada una de ellas tenemos:
ID - Autoincremento
Columna idioma: Español, Ingles, ...
Columna texto: Texto 1 (Español), Texto 2 (Español), ... Text 1 (Ingles), Text 2 (Ingles), ...
Eso en la BD.
En PHP tengo algo como esto:
Código PHP :
<?php
// Datos de conexion
......
 // conexion bd
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
 
// Para test
if ($dato=="")
{
{$dato="sp";};
}
else
{
   $dato =$_POST['dato'];
}
//Consulta
$sql = "SELECT * FROM ". $tabla ."
WHERE idioma_c LIKE '". $dato ."'
LIMIT 10";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$retorno=$row['etiqueta_boton_c'];
while($row=mysql_fetch_row($result))
{
$row[2];
$retorno=$retorno . ($row[2]) . "&" ;
}
echo ("devuelvo=" . urlencode($retorno));
Nota: Este fichero ha sufrido modificaciones por todos los lados, pero funciona devolviendo un resultado en PHP al igual como se muestra con un trace. Mi problema es que no puedo introducirlo en una variable. Otro problema sería que solo me devuelve un solo resultado, no varios. Mirando he encontrado esto otro
http://www.flash-db.com/Tutorials/loadingAS3/loadingData.php?page=5
donde los códigos son los siguientes:
MySQL
Código :
CREATE TABLE titles ( ID int(11) NOT NULL auto_increment, Title varchar(255) NOT NULL, Comments mediumtext NOT NULL, Image varchar(255) NOT NULL, PRIMARY KEY (ID) ); INSERT INTO titles VALUES ( '1', 'Anastasio', 'This is a nice guy', 'an1.jpg'); INSERT INTO titles VALUES ( '2', 'In the car', 'Heres Anastasios car', 'an2.jpg');
Archivo PHP
Código PHP :
        $connect = mysql_connect("localhost", "root", "root");
        mysql_select_db("anastasio", $connect);
        $result = mysql_query("SELECT Title, Comments, Image FROM titles");
        $cant = 0;
        while($row=mysql_fetch_array($result)){
            echo "Title$cant=$row[Title]&Comments$cant=$row[Comments]&Image$cant=$row[Image]&";
            $cant++;
        }
        echo "cant=$cant";AS3
Código :
    //Create the URLLOader instance
    var myLoader:URLLoader = new URLLoader()
    //the data will come as URL-encoded variables
    myLoader.dataFormat = URLLoaderDataFormat.VARIABLES
    //Load using an URLRequest, even beeing local
    myLoader.load(new URLRequest("http://localhost/anastasio.php"))
    //onLoad handler listener
    myLoader.addEventListener(Event.COMPLETE, onDataLoad)
    //add a listener for the complete event
    function onDataLoad(evt:Event){
        for(var i:uint=0; i<evt.target.data.cant; i++){
            this["Title_txt"+i].htmlText  = "<b>"+evt.target.data["Title"+i]+"</b>"
            this["Comments_txt"+i].text = evt.target.data["Comments"+i]
            var loader:Loader = new Loader()
            this["holder_mc"+i].addChild(loader)
            loader.load(new URLRequest(evt.target.data["Image"+i]))
        }
    }
Error que sale:
Error: Error #2101: La cadena transmitida a URLVariables.decode() debe ser una cadena de consulta con formato URL codificado y pares nombre/valor.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
He probado a en vez de mandarlo como texto, a enviarlo codificado para URL como sigue
Código :
echo "Title$cant=".urlencode($row[Title])."&Comments$cant=".urlencode($row[Comments])."&Image$cant=".urlencode($row[Image])."&";
Con resultado similar.
La verdad que ya me estoy liando y ya no se por donde tirar. Miro en Google y todavía no he encontrado algo que me de solucion.
Resumiendo mi problema:
Me gustaría consultar valores de una Base de Datos MySQL a través de PHP y poderlos recoger en AS3 para poder trabajar con ellos, introduciendolos en variables o en Arrays.
Alguna sugerencia?
De antemano, muchas gracias
