Coger variables de registros en PHP para Flash

A continuación le pongo un código en PHP que funciona perfectamente:
$result = mysql_query("SELECT * FROM casa",$connect);
if (mysql_num_rows ($result)) {
$a=0;
while ($row=mysql_fetch_array($result)){
$nombre[]= $row["nombre"];
echo $row["nombre"];
echo "<br>";
$cadena="&loco".$a."=".$row["nombre"];
$fp=fopen("buscador.txt","a");
fputs($fp,$cadena);
fclose;
$a=$a+1;
}
}
?>
Esto me hace exactamente lo que quería, que es escribirme en un .txt las varibles ($loco1=loquesea$loco2=loquesea,... Etc)
Pero el problema con el que me estoy encontrando ahora es un poco jodido, ya que lo que quiero hacer con ese .txt es utilizarlo en Flash para mostrar los resultados de la búsqueda, eso ya lo tengo, no hay problema. El problemón, es que he estado pensando que si por ejemplo en esa página hay 4 personas haciendo una búsqueda habrá problemas ¿no? Ya que entre unos y otros escriben el .txt y lo borran, pero al ser en tiempo real, se pueden cruzar las búsquedas al utilizar el mismo fichero.
No se si lo he hecho mal desde el principio.
¿Habrá algún problema? ¿Está mal hecho? ¿Cómo lo puedo hacer?
Lo que quiero hacer es que Flash me lea las variables que yo consigo con la búsqueda que realizo, pero no se como hacerlo, ya que se lo del .txt funciona, pero no puede ser así, ya que cuando hay varios usuarios sería un cacao, ¿de qué forma puede Flash coger esas variables sin tener que escribirlas en un .txt?
Respuesta
1
Cuando yo conecto Flash con bases de datos a través de asp o php no paso por un .txt sino que lo hago por medio del método POST o GET. Aunque el GET es más intuitivo ya que las variables te las escribe en la propia barra de direcciones. Se trata de enviar las variables que buscas por la barra de direcciones y que las recoja el php y busque en la BD. Cuando tenga un resultado, haces que el php devuelva unas variables con la función print.
En flash no tienes que llamar a la función geturl sino loadvariables().
Informate un poco en la ayuda de flash y verás los parámetros de la función. Ésta recoge datos desde el sitio que tu le digas y los guarda en una instancia. Asegurate de que sea por el método GET para que así lo veas en la barra de direcciones y en php lo recojas de ahí. No recuerdo como se hacía referencia a la barra de direcciones desde php pero desde ASP es request. Querystring("variable"). Supongo que en php es simplemente con el nombre de la variable y le da igual que sea método POST o GET.

5 respuestas más de otros expertos

Respuesta
1
Pues' para empezar no hay problema alguno en hacerlo de esa forma (te explico el porque de eso y luego te explico como optimizar eso, ya q' el grabarlo en un archivo no es necesario... ), no importa q' sea una o un millón las personas q' consultan el .txt porque si es cierto q' estará en constante cambio, este sera leído en un instante y la película (y la información del .txt) sera mostrada al usuario en ese instante, sin comprometer a otros...
Para q' me entiendas mejor te voy a explicar como es el proceso en las aplicaciones web (q' es muy diferente de sitios web)...
Los sitios web son sitios estáticos, osea q' no cambia su contenido "automaticamente", en cambio las aplicaciones web son sitios dinámicos, en donde el contenido de cada página web es mandada al usuario de acuerdo al requerimiento de este, y PHP (como ASP y otros lenguajes más de Scripts de servidor) sirve para decirle al servidor que cosas mostrar al usuario y como mostrarlo de acuerdo al requerimiento de cada uno...
Ahora, siguiendo el ejemplo q' tu dices, el leer los datos de una base de datos y mostrarlo, (independientemente de si los muestras en Flash o en HTML) es simplemente una estructura de datos (o lista en este caso) q' es construida por el servidor y mandada al usuario... proceso q' se hará para todas y cada una de las peticiones q' se hagan a la base de datos por medio del Script, eso significa q' cada lista es armada en el instante y mandada a la salida (en este caso Flash) para q' lo vea el usuario1 y la lista volverá a ser armada (y actualizada si ha habido algún cambio) y mandada al usuario2 y así a cualquier usuario q' haga una petición a la base de datos...
En pocas palabras, es como si cada usuario sea un usuario independiente q' no tiene nada q' ver con otro, ahora, de repente tu te preguntaras: Y si el usuario1 mira los datos y después el usuario2 hace un cambio, ¿Entonces el usuario1 no se entereria del cambio?, pues' eso es correcto, pero al igual q' ocurre por ejemplo en un libro de visitas o en un foro lo cualquier aplicación dinámica, el usuario1 tendría q' volver a hacer de nuevo la petición para q' se actualicen los datos (Similar a hacer un "ACTUALIZAR" en el internet explorer para actualizar la página HTML)... así q' en general no habrá ningún problema con lo q' has hecho, cada petición a la base de datos es independiente tanto como cada usuario...
Ahora... pasando a otro punto...
A mi criterio me parece q' esta de más el guardar los datos en un archivo de texto para después ser leído por la película de Flash, en vez de eso puedes guardar los datos en una variable, y luego has q' Flash lea de frente la variable en vez de leer el archivo .txt
Respuesta
1
Hace tiempo realice un trabajo similar donde 65 personas apuntaban en un archivo plano (TXT) lo realice en actionscript que es el lenguaje nativo de flash, no se si flash mX 2004 entiende o interpreta php aunque puedes buscar código fuente en http://www.flashkit.com/movies/Scripting/Using_External_Files/index.php
Respuesta
1
HOla jpvon
Respuesta
1
La solución que tienes es en vez de guardarlo en el servidor guardarlo en el cliente y la forma más popular es con COOKIES
Respuesta
1
Lo siento pero en php no trabajo; solo en asp.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas