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

Como saber a quien pertenece

Estas en el tema de Como saber a quien pertenece en el foro de Mysql en Foros del Web. Como no encontre donde colocar mi duda... opte por ponerlo aqui a ver si me pueden dar una mano. Estoy armando una portada que se ...
  #1 (permalink)  
Antiguo 25/02/2006, 23:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Como saber a quien pertenece

Como no encontre donde colocar mi duda... opte por ponerlo aqui a ver si me pueden dar una mano. Estoy armando una portada que se tiene que conformar por las noticias seleccionadas por el usuario y despues tengo que general el vinculo a la pagiana que contine la noticia..

voy a hacer un poco mas claro esta es mi consulta

$sql = " (SELECT id, titulo, copete FROM institucional WHERE Portada='si') UNION (SELECT titulo, copete FROM noticias WHERE Portada='si') UNION (SELECT titulo, copete FROM proyetos WHERE Portada='si');

Con esto obtengo todos lo seleccionodas por el usuario ahora pues bien

si la noticia pertenece institucional debo pasar
iinstitucional?id="valor de id"

si pertenece a Proyectos entoces
iProyectos?id="valor de Id"

lo ideal seria saber de que tabal viene el dato y con eso armaria el links.. los dejo a ustedes expertos
  #2 (permalink)  
Antiguo 27/02/2006, 14:12
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
1. muestra la estructura de tablas que intervienen
2. en que tabla está el dato que quieres mostrar y que campo
3. como se relacionan las tablas una con otras
4. que resultado esperas tener con la consulta, un ejmplo de listado sería bueno.
  #3 (permalink)  
Antiguo 27/02/2006, 17:50
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Usa una columna dummy con un valor especifico que recuperas en el programa para hacer solo la distincion de tablas (no lo despliegas en el listado)

Algo asi...

$sql = " (SELECT 1 as tabla,id, titulo, copete FROM institucional WHERE Portada='si') UNION (SELECT 2 as tabla,id,titulo, copete FROM noticias WHERE Portada='si') UNION (SELECT 3 as tabla,id,titulo, copete FROM proyetos WHERE Portada='si');
  #4 (permalink)  
Antiguo 28/02/2006, 17:42
 
Fecha de Ingreso: agosto-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
te hago un ejemplo

Tabla NOTICIAS

ID TITULO PORTADA
1 SALIOD SI
2 ENTRO
3 JUEGO SI

Tabla INSTITUCIONAL

ID TITULO PORTADA
1 PEPE
2 ANDRE sI
3 JOSE

Tabla PROYECTOS

ID TITULO PORTADA
1 SUNSE
2 RETRO
3 CITY

----------------------

Pues bien la resultante de la consulata seleccionando aquellos registros que posen en su columna porta un si Seria

1 SALIOD SI
3 JUEGO SI
2 ANDRE SI

Una vez que tengo eso lo que tengo que hacer es lo siguiente

pasar un links con la id segun la tabal o sea como
1 SALIOD SI
3 JUEGO SI

inoticias?id=1
inoticias?id=3

Y LUEGO CON LA ULTIMA LINEA
2 ANDRE SI

iinstitucional?id=2

para armar una portada que diga

Titulo: SalioD
Ver Mas (que direccionaria con inoticias?id=1)


Bueno no se si me explique mejor o los termine mariando

---------
monkyta no entendi la opcion que me brindas me podrias explicar un poco

Última edición por jh1911; 28/02/2006 a las 17:55
  #5 (permalink)  
Antiguo 28/02/2006, 18:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Lo que yo te propongo es que al inicio del select identifiques mediante un numero la tabla a la cual cada fila cumple la condicion, para que cuando recibas seria algo asi

1 1 SALIOD SI
1 3 JUEGO SI
2 2 ANDRE SI

En donde en la primera columna va la tabla a la cual puedes identificar y este valor te servira para hacer la distincion con un simple if... algo asi

tabla = rs("tabla")
if tabla = 1 then
inoticias?id=id
elseif tabla = 2 then
iinstitucional?id=id
else
....

Esa es la idea.... o sea, con valor = 1 la tabla es NOTICIAS, con = 2 es INSTITUCIONALIDAD y = 3 seria PROYECTOS

Se entendió?
  #6 (permalink)  
Antiguo 04/03/2006, 23:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Gracias se entendio
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 20:47.