Foros del Web » Programando para Internet » PHP »

Que hago para que me devuelva el valor true!!

Estas en el tema de Que hago para que me devuelva el valor true!! en el foro de PHP en Foros del Web. Buena noche, con una pregunta, tengo una comparacion de un punto en un poligono de esta manera ! . SET @g1 = GeomFromText('POLYGON((19.7363298895612 -101.252403259277,19.7376225035779 -101.136360168457,19.6522875628695 ...
  #1 (permalink)  
Antiguo 02/09/2014, 23:07
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 1 mes
Puntos: 0
Que hago para que me devuelva el valor true!!

Buena noche, con una pregunta, tengo una comparacion de un punto en un poligono de esta manera !
.
SET @g1 = GeomFromText('POLYGON((19.7363298895612 -101.252403259277,19.7376225035779 -101.136360168457,19.6522875628695 -101.123313903809,19.6613403940671 -101.262702941895,19.7363298895612 -101.252403259277))');
SET @g2 = GeomFromText('Point(19.690963 -101.194812)');
SELECT MBRContains(@g1,@g2);

cuando lo hago en mysql me devuelve esto:
.

| MBRContains(@g1,@g2)
+----------------------
| 1 |
+----------------------

ahora en mi archivo php lo hago asi
.
$sql2="SET @g1 = GeomFromText('POLYGON((19.7363298895612 -101.252403259277,19.7376225035779 -101.136360168457,19.6522875628695 -101.123313903809,19.6613403940671 -101.262702941895,19.7363298895612 -101.252403259277))');
SET @g2 = GeomFromText('Point(19.690963 -101.194812)');
SELECT MBRContains(@g1,@g2);";
$dentro=mysql_query($sql2);

//coordenada dentro 19.690963 -101.194812
//coordenada fuera 18.757684 -100.102822


if($dentro){
echo "esta dentro";
}else
{
echo "esta fuera";
};

pero no me devuelve el valor que estare haciendo mal, ya me quebre la cabeza y creo que estoy cayendo en un error muy bobo pero porfa una ayudadita no?
.
muchas gracias y espero sus respuestas !!
  #2 (permalink)  
Antiguo 03/09/2014, 01:31
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Respuesta: Que hago para que me devuelva el valor true!!

Si tu consulta retorna vacio entonces es falso... y si tiene registros entonces es verdadero...

si asi funciona a nivel de consulta, entonces solo has esto

if($f=mysql_fetch_array($dentro))
{ dentro }
else
{ fuera }
  #3 (permalink)  
Antiguo 03/09/2014, 08:56
 
Fecha de Ingreso: marzo-2014
Mensajes: 66
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Que hago para que me devuelva el valor true!!

Que tal muchas gracias por tu respuesta, pero me sale un warning.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/...........php on line 34


si puedes hacer la consulta tal y como esta arriba en mysql si se puede ya que tiene todos los parametros pero no regresa ningun campo en concreto, de echo dice 0 resultado pero no sale ningun error ni nada y abajo me imprime el valor de la comparacion "MBRContains(@g1,@g2);"

y si pongo coordenadas dentro o fuera si trabaja me manda 1 o 0 !! que sera me imprime esto

____________________
| MBRContains(@g1,@g2)
+-----------------------------
| 1 |
+-----------------------------

o esto segun la coordenada:
.

____________________
| MBRContains(@g1,@g2)
+------------------------------
| 0 |
+------------------------------

gracias nuevamente por su tiempo !!
  #4 (permalink)  
Antiguo 03/09/2014, 09:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Que hago para que me devuelva el valor true!!

Estás intentando ejecutar una multi-query, que la librería MYSQL de PHP no soporta (eso, sin contaro con que además lesa librería es obsoleta).

TEndrías que usar la librería MYSQLI: http://php.net//manual/es/mysqli.qui...-statement.php
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, select, sql, valor
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 12:19.