Comunidad de diseño web y desarrollo en internet online

Ayuda!!! Reemplazar campo ID por texto de otra tabla

Citar            
MensajeEscrito el 22 Sep 2007 01:35 am
Buenas a todos.

A ver si me podeis ayudar.

Tengo un campo equi_eq en una tabla que contiene valores relacionados con otra tabla id_eq
Quisiera que me convirtiera esos valores en texto, es decir:

equi_eq -> tiene valore 3,7,23,35,37

id_eq-> es la id del campo equipa

id_eq-> 3 equipa -> aire acondicionado
id_eq->7 equip-> elevalunas eléctrico
.....

he probado con str_replace, pero sólo me cambia el primer valor, el resto los omite. y lo que quiero es q me aparezca:

aire acondicionado, elevalunas eléctrico, ....

en vez de:

3,7,23,35,...

Alguien me puede ayudar.

Muchas gracias.

Por sakataks

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Sep 2007 12:56 pm
Hola sakataks, yo lo haría con la base de datos (SQL)..
si tienes una tabla id_eq (tabla2)

Código :

select id_eq from tabla1,tabla2 where tabla1.id1=tabla2.id2


De esa manera no te va a rrojar 3,7.. sino los valores correspondientes..

Aunque en si quieres hacerlo en PHP puedes hacer un switch:

Código :

switch($var){
case 3:
$val="aire acondicionado";
break;
case 7:
$val="elevalunas eléctrico ";
break;
.
.

}
echo $val;

Aunque eso te va a realizar más tareas de las necesarias cuando pudiste hacerlo por SQL.

Chaop!

Por luchope

38 de clabLevel



Genero:Masculino  

Bogota Colombia

firefox
Citar            
MensajeEscrito el 22 Sep 2007 06:17 pm
Muchas gracias por tu respuesta,

Lo único que al hacerlo en SQL sale sólamente el primer resultado, no los restantes, porque todos esos valores están dentro del mismo campo (3,5,7,23,35....), así que al hacer esa consulta, lo único que cambia es el 3, no todos los demás.

Por sakataks

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Sep 2007 04:52 am
No me queda clara una cosa: ¿los literales que se corresponden con los números separados por comas están en una tabla o algo así?.

Para extraer esos números por separado sería:

Código :

$numeros = explode(",",$equi_eq);


(suponiendo que $equi_eq contiene el campo en cuestión)

$numeros es un array donde en cada posición del mismo habrá uno de los números.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 Sep 2007 09:03 am
Exacto, esos números están dentro de un campo.

Hasta ahí bien, ahora lo q no consigo es reemplazar ese número por el valor de otra tabla relacionada, es decir, en vez de Array [0]=> 3, Array [1] => 7 .... sea Array [0]=> aire acondicionado ....( esto lo saca de otra tabla con un campo id_equ y otro texto)

Por sakataks

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Sep 2007 08:12 pm
sakataks si tienes otroa tabla con valores te reitero que tu inquietud se resuelve con SQL.
En internet hay miles de tutoriales al respecto.

Chaop!

Por luchope

38 de clabLevel



Genero:Masculino  

Bogota Colombia

firefox
Citar            
MensajeEscrito el 23 Sep 2007 09:45 pm
Pues si tienes los literales que se corresponden con cada número no veo el problema de hacer un SELECT a esa otra tabla, algo así:

$sql = "SELECT descripcion FROM descripciones WHERE descripciones.id = ".$array[0]";

(suponiendo que los literales están en una tabla que se llama 'descripciones' y esta tiene un campo 'descripcion' y otro 'ID', este último es el índice que se corresponde con alguno de los números extraidos con el método anterior)

Basta con repetir esta sentencia SQL por cada número extraido.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Sep 2007 01:00 am
Muchas gracias, no lo había entendido bien,

Voy a probrarlo.

Un saludo a los 2. y gracias.

Si tengo alguna duda os lo digo y si me sale también.

Por sakataks

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Sep 2007 10:42 am
Lo conseguí!!!

Muchísimas gracias.

Por sakataks

6 de clabLevel



Genero:Masculino  

firefox

 

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