Comunidad de diseño web y desarrollo en internet online

Parámetros obtenidos de un link + consulta cruzada

Citar            
MensajeEscrito el 09 Ago 2007 08:39 am
Hola a todos, como dije , no iba a tardar mucho en tener "problemillas", asi que os dejo mi duda.
Resulta que quiero obtener todos los datos de una tabla que tengan la misma marca. He probado de mil formas y nunca me muestra los resultados, y el problema es que esa tabla la tengo que cruzar con otra para obtener los nombres de las marcas.
Mi consulta es la siguiente:

Código :

SELECT *
FROM datos_coches, lista_marcas
WHERE datos_coches.marca =  lista_marcas.id_marca AND datos_coches.marca = %colname%
ORDER BY id_coche ASC

donde colname es una variable que obtiene su valor a partir del parametro del link (llamado 'id_marca'), el caso es que siempre obtengo 0 resultados y le he dado la vuelta a la consulta 1000 veces.Alguien puede iluminarme?

Por september

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 10:03 am
WHERE datos_coches.marca LIKE %colname% AND lista_marcas.id_marca LIKE %colname%


Tu setencia original no tiene mucho sentido, primero pides que datos_coches.marca sea igual a "lista_marcas.id_marca y luego que sea igual a la variable dada....

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 10:26 am
asi tampoco me funciona :crap: .de verdad no tengo q comparar lista_marcas.id_marca con datos_coches.marca? si no lo hago no puedo pillar el valor textual de las marcas y me saldria numericamente en pantalla

Por september

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 11:01 am
prueba con (estoy imaginando MUCHO qué campo es cada uno en la DB y sus datos)


WHERE lista_marcas.id_marca = %colname% AND datos_coches.marca = lista_marcas.id_marca

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 11:12 am
Mira si quieres te explico la tabla datos_coches tiene un campo marca (tinyint) que es clave foranea de la tabla lista_marcas.lista_marcas tiene 2 campos ,id_marca (tinynt) y marc (varchar).

tengo un apartado de busqueda por marcas donde pulsas en el logo de la marca y se asignan valores fijos (1,2,3,4,5,6...) al parametro colname.

Lo que quiero es que cuando se haga click salga un listado de todos los coches de esa marca.pero como en la tabla datos_coches la marca es un entero, no me muestra el "nombre" de la marca. por eso las relaciono.

a ver si asi lo ves, de verdad que he intentado de todo y estoy seguro que es una tonteria que se hace en un momento.

Gracias

Por september

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 11:18 am
SELECT *, lista_marcas.marca as nombre_marca
FROM datos_coches, lista_marcas
WHERE datos_coches.marca = %colname% AND lista_marcas.id_marca = %colname%
ORDER BY id_coche ASC

y de nombre_marca coges el nombre de la marca. No hace falta relacionar nada porque te duelve los datos. Quizás si luego los estás recuperando los campos por nombre tengas dos "marcas" y sólo estés viendo el primero (mira en phpMyAdmin y verás como salen los dos)

También puedes probar con
SELECT *
FROM lista_marcas, datos_coches
WHERE datos_coches.marca = %colname% AND lista_marcas.id_marca = %colname%
ORDER BY id_coche ASC

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 09 Ago 2007 11:47 am
Por fin lo tengo:

Código :

SELECT *
FROM datos_coches, lista_marcas
WHERE datos_coches.marca = colname and lista_marcas.id_marca = colname2

Sabia que al final era más simple de lo que pensaba, habia que usar 2 variables por que no me dejaba comparar dos veces la misma.Aunque ambas variables son iguales.

Conejo gracias por tu ayuda!

Por september

55 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.