Foros del Web » Programando para Internet » PHP »

Extraer texto con variables PHP de una Base de Datos

Estas en el tema de Extraer texto con variables PHP de una Base de Datos en el foro de PHP en Foros del Web. Bien, pues explico un poco lo que estoy haciendo. Tengo varias paginas con diferentes textos, entonces pense en meter esos textos en la base de ...
  #1 (permalink)  
Antiguo 07/04/2008, 09:02
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Extraer texto con variables PHP de una Base de Datos

Bien, pues explico un poco lo que estoy haciendo.

Tengo varias paginas con diferentes textos, entonces pense en meter esos textos en la base de datos y sacarlos mediante una consulta.

El problema que me encuentro es el siguiente, dentro de los textos hay variables PHP, que al meter en la base de datos, dejan de ser reconocidas como tal.

Os pongo un ejemplo de lo que tengo.

Código PHP:
<? 
include ("conexion.php");
$Textos mysql_query("SELECT * FROM Textos");
while(
$row2 mysql_fetch_array($Textos))
{
if (
$row2['ID']==1){$Texto_anuncio=$row2['Texto'];}
}
echo 
'Anuncio<br>'.$Texto_anuncio;
?>
El texto del anuncio guardado en la base de datos es el siguiente.

El próximo sorteo se celebrara el día '.$Sorteo.' y se han puesto '.$Boletos.' boletos a la venta a '.$Precio.' monedas cada uno.

Es decir, me sale el texto con las '.$XXXX.' y no me las cambia por la variable.

Las variables de la cita estan en otra parte del documento que no he pegado, pero funcionan.

Muchas gracias por su tiempo.

P.D.: Jurena me ha comentado que se puede hacer con la funcion Eval, pero no consigo hacer que funcione. Si alguno pudiera hacerme un minimanual para tontos. Supongo que no me saldra por alguna tonteria...

Última edición por Ariadkas; 07/04/2008 a las 09:21
  #2 (permalink)  
Antiguo 07/04/2008, 09:35
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Extraer texto con variables PHP de una Base de Datos

Mira este ejemplo:

Código PHP:
$test "hola mundo!";
$cadena "\$completo = \"El texto escrito es: \$test\";";
eval(
$cadena);
echo 
$completo// esto imprime "El texto escrito es: hola mundo!" 
Espero te oriente.
Salud!
  #3 (permalink)  
Antiguo 07/04/2008, 09:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Extraer texto con variables PHP de una Base de Datos

Te comentan correctamente, debes de usar eval:
Código PHP:
eval( '$Texto_anuncio = $row2[\'Texto\'];' ); 
Aunque deberías de tener tu Texto de esta forma:
Código:
El próximo sorteo se celebrara el día $Sorteo y se han puesto $Boletos boletos a la venta a $Precio monedas cada uno.
Saludos.
  #4 (permalink)  
Antiguo 07/04/2008, 09:56
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Extraer texto con variables PHP de una Base de Datos

Gracias, llevo toda la tarde probando con la estructura basica del eval. Y acabo de probar tambien vuestros metodos.

He llegado a la siguiente conclusion. Si pongo las variables solas, sin ningun otro texto, me extrae las variables.

Es decir si pongo en la base de datos

$Bote

me devuelve

500

Pero si pongo

Hay un bote de $Bote

me devuelve

Hay un bote de $Bote

Tambien he probado

Hay un bote de '.$Bote
'Hay un bote de '.$Bote

Y me devulve el resultado sin cambiar la variable.

Asi que, no se, de momento he optado por el metodo sencillo de poner el texto en el mismo documento, pues tampoco es tan esencial para la estructura de mi pagina que esto sea asi. Pero me queda ese gusanillo de no haber podido conseguirlo. Quizas sea algun problema de alguna opcion de la base de datos.
  #5 (permalink)  
Antiguo 07/04/2008, 11:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Extraer texto con variables PHP de una Base de Datos

¿Que código estas utilizando?

Saludos.
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 14:04.