PHP - Problemas con los DEFINE y MYSQL

 
Vista:

Problemas con los DEFINE y MYSQL

Publicado por Juan Calderon (5 intervenciones) el 20/12/2005 13:05:20
Hola a todos:

Estoy creando una pagina multiidioma con define("_HELLO","hola")

Mi problema es que si tengo _HELLO en un campo de la base de datos y la muestro por pantalla
echo $Row['saludo'], no actua el define y me imprime _HELLO.

Alguien sabe como arreglarlo?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Problemas con los DEFINE y MYSQL

Publicado por Yamil Bracho (888 intervenciones) el 20/12/2005 15:07:46
Estas creando lo que se llama una "variable de variable". Puedes hacer algo como

$a = ·row['saludo'] // Contiene _HELLO
$$b = $a
echo $b

Prueba y me dices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con los DEFINE y MYSQL

Publicado por Juan Calderon (5 intervenciones) el 21/12/2005 11:45:38
Hola Yamil
No me sale, no muestra la imagen por pantalla
te pego el codigo

<?php

include("conexion.php");
DEFINE ('_PRECIO','precio');
$sql="SELECT * from campos_tabla where id=186";
$result2 = mysql_db_query($dbname,$sql,$link);
$row2 = mysql_fetch_array($result2);

$campo=$row2[3];
$$campo1=$campo;

echo "PRUEBA: ".$campo1;

?>

$row2[3] tiene el valor _PRECIO
Tengo que ponderle el $ en vez del · si no lo hago ni siquiera me muestra el prueba

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Problemas con los DEFINE y MYSQL

Publicado por Yamil Bracho (888 intervenciones) el 21/12/2005 15:51:09
Creo que el problema es porque _PRECIO es una constante y no una variable. Por ejemplo el siguiente codigo te funciona como lo quieres hacer

$_PRECIO = "esta es una prueba";
$a = "_PRECIO";
$b = $$a;
echo "a=$a, b=$b\n\r";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Problemas con los DEFINE y MYSQL

Publicado por Yamil Bracho (888 intervenciones) el 21/12/2005 16:15:05
Esto si hace lo que quieres hacer...!

<?php

define("_PRECIO", "esta es una prueba");
$a = "_PRECIO";
$b = constant($a);
echo "a=$a, b=$b\n\r";
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con los DEFINE y MYSQL

Publicado por Juan Calderon (5 intervenciones) el 21/12/2005 16:39:02
Muchas GRACIAS!!!!
funciona a la perfeccion. Pego el codigo. Si necesitas algo de ayuda, no dudes en escribirme, gracias de nuevo

<?php

include("conexion.php");
DEFINE ('_PRECIO','Precio');
$sql="SELECT * from campos_tabla where id=186";
$result2 = mysql_db_query($dbname,$sql,$link);
$row2 = mysql_fetch_array($result2);

$a=constant($row2[3]);

echo "<br> ejemplo1: ";
echo "a=$a\n\r";

?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con los DEFINE y MYSQL

Publicado por Juan Calderon (5 intervenciones) el 21/12/2005 16:33:15
Ante todo gracias por ayudarme, esto sigue fallando te pego el codigo

<?php

include("conexion.php");
DEFINE ('_PRECIO','precio');
$sql="SELECT * from campos_tabla where id=186";
$result2 = mysql_db_query($dbname,$sql,$link);
$row2 = mysql_fetch_array($result2);

$a=$row2[3];
$b=$$a;
echo "<br> ejemplo1: ";
echo "a=$a, b=$b\n\r";


echo "<br> ejemplo2: ";
$_PRECIO = "esta es una prueba";
$a = "_PRECIO";
$b = $$a;
echo "a=$a, b=$b\n\r";


echo "<br> ejemplo3: ";
DEFINE ('_PRECIO','precio');
$a = "_PRECIO";
$b = $$a;
echo "a=$a, b=$b\n\r";

?>


y suelta esto

ejemplo1: a=_PRECIO, b=
ejemplo2: a=_PRECIO, b=esta es una prueba
ejemplo3: a=_PRECIO, b=esta es una prueba


el fallo está en que $row2[2] no es igual a "_PRECIO" ya que no lo cambia por el define. El ejemplo 3 solamente cambia el valor de la $a, para que no busque en la base de datos, en este caso funciona, pero cuando le da el valor directamente, no

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con los DEFINE y MYSQL

Publicado por Juan Calderon (5 intervenciones) el 21/12/2005 17:00:25
Una última cosa Yamil :P

si tengo $a="_HOLA" y DEFINE ("_HOLA","hola") hay aguna funcion que de como resultado $b="hola", me haria falta guardar la traduccion en una variable, ya que al crear un pdf, no se imprime por pantalla y no se realiza el cambio.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:Problemas con los DEFINE y MYSQL

Publicado por Yamil Bracho (888 intervenciones) el 21/12/2005 18:38:44
Si la funcion qu ete menciona, constant()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar