Foros del Web » Programando para Internet » PHP »

Concatenar defines y variables

Estas en el tema de Concatenar defines y variables en el foro de PHP en Foros del Web. Hola amigos, a ver tengo este problema. Estoy haciendo un archivo .php y quiero concatenar textos que tengo en archivos defines y variables. He hecho ...
  #1 (permalink)  
Antiguo 15/06/2006, 07:14
 
Fecha de Ingreso: abril-2006
Mensajes: 104
Antigüedad: 18 años
Puntos: 0
Concatenar defines y variables

Hola amigos, a ver tengo este problema. Estoy haciendo un archivo .php y quiero concatenar textos que tengo en archivos defines y variables.


He hecho algo asi

echo "

<TABLE>
<TR>
<TD>
<img src='".ruta1."$variable".ext1."'>
</TD>
</TR>
</TABLE>
";

?>

Donde ruta1 es el dedine al que le concateno la $variable. El problema es que si intento hacer lo mismo para un texto normal en un td, al go asi

echo "

<TABLE>
<TR>
<TD>
".titulo_'$variable'."
</TD>
</TR>
</TABLE>
";

PUes me da fallo de que falta ,' " ;. NO se que hacer porque he probado ya muchas combinaciones logicas pero nada.

¿Alquien puede ayudarme? Gracias

?>
  #2 (permalink)  
Antiguo 15/06/2006, 07:18
 
Fecha de Ingreso: noviembre-2005
Mensajes: 112
Antigüedad: 18 años, 5 meses
Puntos: 2
echo "

<TABLE>
<TR>
<TD>
".titulo_'$variable'."
</TD>
</TR>
</TABLE>
";

No entiendo bien lo que queres hacer con eso. En principio lo que se es que las variables no se deben poner entre comillas simples. Pero conta un poco mas cual es tu intención y vemos que se puede hacer.
__________________
PuertaX.Net
  #3 (permalink)  
Antiguo 15/06/2006, 08:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Supongo que cuando dices "defines" te referiras a que creas constantes. Bien .. las "constantes" en PHP no van entre comillas ni con $ delante como ya sabras ..

Si necesitas usarlas o concatenarlas con otra cosa .. simplemente:

Código PHP:
echo "blkablaba".TUCONSTANTEDEFINIDA.$variable."mas cadenas"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 15/06/2006, 08:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
o, si lo que quieres es accesar a un define que su nombre es variable puedes usar esto:
Código PHP:
<?php
define
"MI_DEFINE_A""valor A" );
$define "A";

eval( 
"echo MI_DEFINE_$define;" ); // esto imprime valor A
?>
  #5 (permalink)  
Antiguo 15/06/2006, 08:26
 
Fecha de Ingreso: abril-2006
Mensajes: 104
Antigüedad: 18 años
Puntos: 0
No ahi manera

Con lo que me has puesto solo consigo sacar en pantalla $variable. Explico mejor lo que quiero hacer.

Tengo una pagina hecha en HTML, y ahora estoy haciendo su version php. La página en si cuenta con varias plantillas, paginas similares con distinto contenido. Lo que quiero hacer es tener una sola pagina por modelo de pagina y que el contenido cambie dinamicamente en funcion de la pagina elegida. ES decir tiene que cambiar: contenidos, titulos, enlaces a fotos...

Tal y como lo tengo montado una sola variable me resuelve el problema. Ejemplo:

En la pagina de españa
<img src='imagnes/pais/españa.jpg'>
<img src='imagnes/bandera/pais/españa.jpg'>

En la pagina de mexico
<img src='imagnes/pais/mexico.jpg'>
<img src='imagnes/pais/bandera/mexico.jpg'>

Hecho de esta manera creo un define con la parte fija de la cadena

define ('ruta1','imagnes/pais');

De forma que cuando quiera sacar la ruta a la foto al define le concateno la variable $variable=españa, mexico,.... dependiendo de la pagina.

El problema es que no encuentro la manera de cargar un texto puesto en un define. EJ:

define ('titulo_españa','España');
define ('titulo_mexico','Mexico');

echo "

<TABLE>
<TR>
<TD>
".titulo_¿como concateno aqui la variable?"
</TD>
</TR>
</TABLE>
";

Este es mi problema. Muchas gracias por su ayuda.
  #6 (permalink)  
Antiguo 15/06/2006, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Usa el metodo que te postee antes, te debe de servir para lo que necesitas.
  #7 (permalink)  
Antiguo 15/06/2006, 08:31
 
Fecha de Ingreso: abril-2006
Mensajes: 104
Antigüedad: 18 años
Puntos: 0
Voy a probarlo Gator
  #8 (permalink)  
Antiguo 15/06/2006, 08:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Con lo que me has puesto solo consigo sacar en pantalla $variable. Explico mejor lo que quiero hacer.
Deberías especificar que respuesta no te funciona (pues se dieron várias alternativas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 15/06/2006, 08:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que lo que necesitas más bien es uso de lo denominado "variable variables":

http://www.php.net/manual/en/languag...s.variable.php

Pero no sé por qué usas constantes de esa manera .. para eso te sería mejor usar un array

Código PHP:
$mensajes['titulo']['espana']="España";
$mensajes['titulo']['mexico']="Mexico"
(o si quieres definida de otra forma):
Código PHP:
$mensajes['espana']['titulo']="España";
// para poder hacer cosas tipo:
$mensajes['espana']['bandera']="espana.gif";
$mensajes['espana']['blablabla']="blablabla";
// y lo mismo con otro "pais" ...
$mensajes['mexico']['titulo']="Mexico"
y así usarlo:

Código PHP:
$pais="espana";
$mensajes['titulo'][$pais]; 
Sería más ordenado los mensajes a presentar. Es cierto que el "código" es más largo .. pero es mucho más ordenado sobre todo para hacer cosas tipo "ver todos los paises y sus propiedades recorriendolo con un bucle .. etc" en fin .. es una forma estructurada de almacenar y distribuir información (sin llegar a cosas más complicadas como crear un archivo con formato XML o incluso recurrir a una "base de datos" para esto).

Las "constantes" usalas para definir esa ruta fija que ya sabes "imagnes/pais" y cosas así .. realmente "constantes".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 12:12.