Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Asociar dos campos de dos tablas

Estas en el tema de Asociar dos campos de dos tablas en el foro de Mysql en Foros del Web. Hola. Vereis tengo dos tablas, una llamada Wallpapers y otra Categories . En wallpapers tengo estos campos: "title, category" <--- esta ultima guarda la categoria ...
  #1 (permalink)  
Antiguo 15/02/2008, 04:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Asociar dos campos de dos tablas

Hola.

Vereis tengo dos tablas, una llamada Wallpapers y otra Categories.

En wallpapers tengo estos campos: "title, category" <--- esta ultima guarda la categoria en numero , luego en la tabla Categories tengo de campos "ID, name, y parent".

Bien, lo que necesito hacer es que asocie el numero de "category" de la tabla Wallpapers con la ID de la tabla Categories y me devuelva de esta ultima tabla el campo "name" que es donde estan las categorias guardada

Esto lo quiero para que en la url, en vez de aparecer por ejemplo /28/titulo.html aparezca en sustitucion /categoria-que-asigne/titulo.html

Saludos.
  #2 (permalink)  
Antiguo 15/02/2008, 07:52
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Asociar dos campos de dos tablas

Cita:
Iniciado por printonic Ver Mensaje
Hola.

Vereis tengo dos tablas, una llamada Wallpapers y otra Categories.

En wallpapers tengo estos campos: "title, category" <--- esta ultima guarda la categoria en numero , luego en la tabla Categories tengo de campos "ID, name, y parent".

Bien, lo que necesito hacer es que asocie el numero de "category" de la tabla Wallpapers con la ID de la tabla Categories y me devuelva de esta ultima tabla el campo "name" que es donde estan las categorias guardada

Esto lo quiero para que en la url, en vez de aparecer por ejemplo /28/titulo.html aparezca en sustitucion /categoria-que-asigne/titulo.html

Saludos.
Hola printonic, conoces los foreign keys????, bueno sirve para asociar datos de la forma como lo necesitas, por ejemplo, no puede haber un category que no existe en id de la tabla categories en tu caso, si tienes alguna herramienta grafica es realmente muy sencillo crear el foreign key. Debes colocar en la tabla Wallpapers un foreign key a la tabla categories. Luego dices:

select categories.name from categories, wallpaper where categories.id=var and categories.id=wallpaper.category.

Esa variable debes colocarla en la construccion del hipervinculo y listo...

Nota: te recomiendo que llames igual al campo id categoria tanto en la tabla categoria como en la tabla wallpaper.

Saludos y cualquier cosa avisame
  #3 (permalink)  
Antiguo 15/02/2008, 08:47
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Asociar dos campos de dos tablas

Muchas gracias, voy a probar y a documentarme que estoy algo pez :)

Un saludo.
  #4 (permalink)  
Antiguo 18/02/2008, 16:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Asociar dos campos de dos tablas

Reholas.

Para crear las claves foraneas que hay que hacer en un base de datos ya existente?

He leido que necesito tener InnoDB y tengo MYISAN como motor de almacenamiento...¿lo cambio o me cargare algo?

Un saludo.
  #5 (permalink)  
Antiguo 19/02/2008, 06:59
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
Re: Asociar dos campos de dos tablas

Cambiate a InnoDB.
Las tablas relacionales son InnoDB y cuando usas claves foráneas estás hablando del modelo relacional.
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 01:44.