Pregunta:
¿Consulta de Mysql y php Con tablas que poseen datos de igual nombre?
anonymous
2012-01-21 11:12:31 UTC
Tengo dos tablas qeu se llaman Ciudad y Estado... Ellas tienen los siguientes datos de mismo nombre

Estado:
id: el codigo
opcion: el nombre

Ciudad:
Id: el codigo
opcion: el nombre
Relacion: Guarda el codigo del estado

tuve que colocarle los nombres iguales para que me funcionara un select dependiente con ajax....

el chiste es que tengo que mostrar los datos en una tabla en una pagina de HTML con la siguiente consulta donde me muestre el nombre del estado al cual pertenece esa ciudad

este es un fragmento claro no es todo el codigo pero en si es como tengo que mostrarlo

$ssql="select * from estado, ciudad where ciudad.relacion = estado.id ORDER BY ciudad.id LIMIT $inicio,$registros";

$rs=Consulta_BD($ssql,'bd_amalia',$conexion);
while ($row=Obtener_Resultados($rs))
{
echo'';
echo '';
echo ''.$row["ciudad.id"];
echo ''.$row["ciudad.opcion"];
echo ''.$row["estado.opcion"];

}

lo que pasa es que el me muestra la cantidad de registros pero me aparecen en blanco no se si sera por lo de el punto= ciudad.opcion

no se si me explique bien pero si me pueden ayudar que de verdad lo necesito
Cinco respuestas:
Alejandro Pérez C.
2012-01-21 15:10:16 UTC
Tienes un problema con los alias de las consultas.



La respuesta de la consulta no te pone los alias de las tablas, solo los alias que declares en los campos.



es decir,



la consulta "select * from estado, ciudad where ciudad.relacion = estado.id" te regresa los campos:

id - opcion - id - opcion - Relacion



la clave es, selecciona solo los campos que necesitas y ponle alias únicos..

es decir, en vez de "select * from estado, ciudad where ciudad.relacion = estado.id"

haz la consulta:

"select ciudad.id as ciudad_id, ciudad.opcion as ciudad_opcion, estado.opcion = estado_opcion from estado, ciudad where ciudad.relacion = estado.id "



en el PHP ya solamente les del fetch array como $row['ciudad_id'], por ejemplo.



Saludos.
anonymous
2014-09-23 16:02:28 UTC
tengo dos tablas distintas necesito buscar los nombres iguales que estan en las dos tablas, como hago eso en PHP POO GRACIAS
Alexander F
2012-01-24 09:52:26 UTC
Asumo que la variable $inicio es para hacer la paginacion, podrias revisar si esta llegando vacia, al igual que la variable $registros, verificar si esta vacia. o si estan en cero, para lo cual no te daria error la consulta pero no te mostraria registros.



Puede ser que al mandarla al ajax no esten llegando los valores, no especificas si usas GET o POST para recibir los valores de $inicio supongo.



Sino se resuelve asi, puedes mandar a mostrar los errores en la funcion "Consulta_BD".

si usas mysql, al final del mysql_query puedes poner mysql_error(). para que te de mas detalle.



Talves acomodar un poco el codigo, veo que no imprimes "", asumo que lo tienes en alguna linea antes de la consulta.



y al final no cierras el "
" pero eso no te dejara de mostrar registros.



no cierras los "" ni "" ni "" ni "". en algunos navegadores limpian el codigo para que tenga coherencia y a veces modifica o borra aquel codigo que no le paresca.



si usas fetch_array, no te devuelve los registros con nombres, como en el caso de $row["ciudad.id"]

tendrias que usar fetch_object.



podria ser problema de la estructura, el tipo de campo cuando usas prefijos 0 en los id, por ejemplo 001,002,003 ... si es numerico lo intentara convertir a 1,2,3 ...



si los nombres de los campos coincidan, al momento de ejecutar la consulta te los cambiara para poder regresar los registros.
octavio o
2012-01-21 18:38:35 UTC
El campo Id existe en las 2 tablas, en tu consulta debes indicar de que tabla quieres mostrar el Id.
?
2012-01-21 12:52:45 UTC
hola, en la consulta no se que utilidad tendran las variables inicio y registros, a mi parecer no son necesarias, en general tu consulta esta bien. Ahora en el codigo html no cierras las etiquetas que usas y no veo en que parte abres la etiqueta table, checa esos detalles con las etiquetas, ahi esta tu problema.

Saludos


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...