Foros del Web » Programando para Internet » PHP »

Ayuda con php a modo local

Estas en el tema de Ayuda con php a modo local en el foro de PHP en Foros del Web. Buenas a todos. tengo una aplicacion funcionando perfectamente en un servidor de internet. tengo un flash vinculado a un php que me muestra unos registros ...
  #1 (permalink)  
Antiguo 11/02/2006, 14:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Ayuda con php a modo local

Buenas a todos. tengo una aplicacion funcionando perfectamente en un servidor de internet. tengo un flash vinculado a un php que me muestra unos registros de unas viviendas.

la cosa es que a modo local, en un servidor instalado en mi portatil,no me funciona como en internet. tengo que ir retocando los scripts, ya que no se pq me funciona. y hay uno que no me funciona, que tiene lo siguiente:

le paso unas variables variables des del flash al php:

Código:
sqlTipo="";
	if ((_root.tipo2== "Piso")) 
		sqlTipo= "Piso";
	else if (_root.tipo2 == "Planta Baja")
		sqlTipo= "Planta Baja";
	else if (_root.tipo2 == "Casa")
		sqlTipo= "Casa";
	else if (_root.tipo2 == "Duplex")
		sqlTipo= "Duplex";
	else if (_root.tipo2 == "Atico")
		sqlTipo= "Atico";
		trace(+sqlTipo);
		
		sqlM2= "";
	if ((_root.m2.value == 0 ))
		sqlM2="";
	else if (_root.m2.value == 1) 
		sqlM2= "and m2<70 ";
	else if (_root.m2.value == 2)
		sqlM2= " and m2 between 70 and 90 ";
	else if (_root.m2.value == 3 )
		sqlM2= " and m2>90";

datosPoblaciones.load("http://localhost/phpLoads/loadPoblacionesIdeal.php?&m2="+sqlM2+"&tipo="+sqlTipo+"&idPoblacion="+idPoblacion+"");
y elphp tiene lo siguiente:

Código:
if (mysql_num_rows($res) > 0) {
		//si hay resultados.
	while(list($id,$poblacion,$codigo) = mysql_fetch_array($res)){

$totalInmuebles = mysql_query("SELECT COUNT(*) as total FROM   viviendas inner join Inmobiliarias on (inmobiliaria = Inmobiliarias.id) where poblacion= $id ".$tipo."  ".$m2." ") or die(mysql_error());
$total = mysql_fetch_array($totalInmuebles);
?>
el tema es que el problema lo tengo en la variable de m2. antes le pasaba el tipo de la siguiente manera:

+sqlTipo="AND tipo='Pisos'"

y no me salia, y tuve que poner

+sqlTipo="Pisos"

y poner el AND tipo=... en el php.

que hago mal? como tengo que hacerlo?? pq funciona en internet y en local no?

Espero vuestra ayuda y sugerencias!!
  #2 (permalink)  
Antiguo 12/02/2006, 17:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... register_globals, reviza las FAQ, la solución simple es que cambias la directiva de tu local.

La manera de recojer la variable es con $_GET (la envias en la URL) y te da problemas por los espacios en la misma. Procura evitarlos, quizá debas hacer uso de urldecode().

No tengo experiencia con flash y depende de tu aplicación, pero quizá no sea buena idea manejar los datos por URL; seguridad, límites de carácteres, codificación de los mismos... Te sugeriría veas la manera de enviarlos vía POST.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 12/02/2006, 18:04
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 11 años, 11 meses
Puntos: 5
Primero que nada, cualquier "debugging" manual de una aplicación que use Flash+PHP+MySQL te conviene hacerla por "etapas".

O sea, primero asegurate de que el script esté funcionando correctamente. Abrí una ventana del navegador y escribí la url, pasándole los parámetros tal como esperás que se los pase el .swf. Ej. http://localhost/directorio/script.p...1&param2=valor , etc.

Hasta que no consigas que eso ande bien y te muestre por pantalla los resultados que esperás, el .swf nunca va a funcionar correctamente.

Por lo que vi del código php no estás devolviendo nada. Debería tener algo así como:

Código:
echo "param_respuesta1=$algun_valor";
echo "&param_respuesta2=$otro_valor";
Una vez que logres que el script ande bien, pasás a concentrarte en la parte del ActionScript.

Por otra parte, no veo la ventaja de mandar parte de la consulta desde el .swf. Sería más fácil y prolijo mandar los metros cuadrados y desde php hacer un if (o un switch) para determinar cómo se arma la consulta a la BBDD. Cuanto más "hardcodeada" esté tu consulta, mejor. O sea, en vez de mandarle, por ejemplo, "and m2 between 70 and 90 ", mandale la cantidad de m2 y desde php completás la consulta según corresponda.

En cuanto al ActionScript, tranquilamente podrías usar el método sendAndLoad del objeto LoadVars, que permite mandar los datos por "get" o "post", de forma más ordenada y te permite hacer manejo de errores, entre otras ventajas.

Suerte
Califa
  #4 (permalink)  
Antiguo 13/02/2006, 02:22
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por califa010
Primero que nada, cualquier "debugging" manual de una aplicación que use Flash+PHP+MySQL te conviene hacerla por "etapas".

O sea, primero asegurate de que el script esté funcionando correctamente. Abrí una ventana del navegador y escribí la url, pasándole los parámetros tal como esperás que se los pase el .swf. Ej. http://localhost/directorio/script.p...1&param2=valor , etc.

Hasta que no consigas que eso ande bien y te muestre por pantalla los resultados que esperás, el .swf nunca va a funcionar correctamente.

(...)

Cuanto más "hardcodeada" esté tu consulta, mejor. O sea, en vez de mandarle, por ejemplo, "and m2 between 70 and 90 ", mandale la cantidad de m2 y desde php completás la consulta según corresponda.
Totalmente de acuerdo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 23:53.