Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2010, 14:15
j4v13r
 
Fecha de Ingreso: junio-2008
Mensajes: 87
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problema con envio de datos PHP

primero me parece que esta query esta mal
Código PHP:
$sql="
    SELECT
        *
    FROM
        ESTADOS,
        MUNICIPIOS,
        COLONIAS
    WHERE
        ESTADOS.id='$estado'
    AND
        MUNICIPIOS.relacion='$municipio'
   AND
        COLONIAS.relacion='$colonia'"

deberias especificar bien como joinear las tablas, dependiendo de los nombres de campos que utilizes esto puede traerte datos erroneos.
ademas te da un idea de como es que se relacionan las tablas que aqui, no se ve.

lo que yo creo que te esta pasando es que el mysql debe estar tomando el campo "relacion" para jacer el join entonces esta buscando que en para las 3 tablas exista un registro donde ese campo valga lo mismo y como no lo encuetra te tira al "ERROR" por esta parte del codigo
Código PHP:
if(mysql_num_rows($result)>0){
...
}else 
$cuerpo="ERROR";
        echo 
$cuerpo
ahora... yo diria que esas tablas se realcionan asi:
la tabla estado es la master: despues para cada estado hay muchos municipios y para cada municipio hay muchas colonias con lo cual el join seria algo asi
Código:
  SELECT * FROM ESTADOS
  LEFT JOIN MUNICIPIOS ON ESTADOS.ID = MUNICIPIOS.RELACION
  LEFT JOIN COLONIA ON MUNICIPIOS.ID = COLONIAS.RELACION
WHERE COLONIAS.ID = {$COLONIA}
mas o menos, si queres podes poner en el where el estado y el municipio pero seria redundante... dado que una colonia deberia pertenecer solo a un municipio y estado

buscalo por ahi el problema...
ahora un consejo... no le pongas "relacion" al nombre del campo por que despues no sabes que era... cuando vengas a mirar el codigo en 6 meses me contas... mas vale ponele id_[nombre_tabla_relacionada]

espero te sea de ayuda... saludos