Foros del Web » Programando para Internet » PHP »

componer variable dinámica ezSQL

Estas en el tema de componer variable dinámica ezSQL en el foro de PHP en Foros del Web. Tengo un problema para componer una variable dinámica de acceso a datos utilizando la librería ezSQL. Quiero acceder a una columna de datos distinta según ...
  #1 (permalink)  
Antiguo 12/03/2011, 13:22
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
componer variable dinámica ezSQL

Tengo un problema para componer una variable dinámica de acceso a datos utilizando la librería ezSQL.

Quiero acceder a una columna de datos distinta según el idioma. Para ello necesito unir una variable previa ($lang, que puede ser 'es', 'en', 'fr' , etc) a un string para componer la variable definitiva que necesito para acceder a los datos ($row->nombre_es, $row->nombre_en, según el idioma). Trato de unirlo haciendo:

$row->nombre_.$lang

Pero esto no funciona

Lo que intento hacer utilizando ezSQL lo hacía con acceso normal PHP haciendo

row['nombre_.'$lang]

A ver si podéis ayudarme. Gracias.
  #2 (permalink)  
Antiguo 12/03/2011, 14:35
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: componer variable dinámica ezSQL

Estas uniendolo al reves...
Código PHP:
$row['nombre_'.$lang]; 
El punto va al terminar el texto y comenzar la variable.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 12/03/2011, 15:36
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: componer variable dinámica ezSQL

ok Marvin me he equivocado pero el problema no lo tengo ahí sino cuando trato de unir

$row->nombre_.$lang

ESto es lo que no me funciona
  #4 (permalink)  
Antiguo 12/03/2011, 16:56
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: componer variable dinámica ezSQL

Pero trata de sacar los campos con mysql_fetch_array() para que puedas hacer esto:
Código PHP:
$row['nombre_'.$lang]; 
O pon tu codigo para ver el problema completo.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 12/03/2011, 17:16
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: componer variable dinámica ezSQL

Con PHP 'normal' (léase mysql_fetch_array() ) no hay problema. El problema surge cuando uso la librería ezSQL . Con esta librería se usan clases que utilizan una sintaxis distinta de llamada a la BBDD, por ejemplo:

Código PHP:
// Select multiple records from the database and print them out..
$users $db->get_results("SELECT name, email FROM users");

foreach ( 
$users as $user ){

            
// Access data using object syntax
            
echo $user->name;
            echo 
$user->email;


Por eso el problema que tengo es que trato de crear una variable dinámica utilizando esa sintaxis pero no me funciona. Es decir, necesito crear de forma dinámica la variable:

$row->nombre_es

y para ello hago:

$row->nombre_.$lang

Esto es lo que no funciona
  #6 (permalink)  
Antiguo 12/03/2011, 17:28
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: componer variable dinámica ezSQL

Eso quiere decir que necesariamente debes usar ezSQL, en ese caso tendras que intentar algo asi:
Código PHP:
foreach ($users as $user){
    foreach(
$user as $campo){
        if(
$campo == 'nombre_'.$lang){
            
//aca lo que quieras hacer
        
}
    }

Personalmente no utilizo librerias que dependan de una version de php, por eso mi insistencia con mysql_fetch_array()

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 12/03/2011, 18:14
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: componer variable dinámica ezSQL

Honestamente creo que mejor tomate tu tiempo para leer sobre PDO, objetos y el operador de concatenación en php.
__________________
Saludos.
  #8 (permalink)  
Antiguo 16/03/2011, 15:57
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
Respuesta: componer variable dinámica ezSQL

Gracais MArvin. me ha servido tu solución

Pero me has dejado de piedra con lo que comentas de ezSQL, ¿quieres decir que ezSQL podría no funcionar con futuras versiones de PHP? Pensaba que el uso de classes de ezSQL era una buena solución para facilitar el acceso a DB.
  #9 (permalink)  
Antiguo 16/03/2011, 16:02
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: componer variable dinámica ezSQL

Personalmente, como opinión me parece que queda poco limpio.. prueba otras alternativas... tu propia clase.. PDO...

Un saludo!

Etiquetas: variables
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 17:25.