Foros del Web » Programando para Internet » PHP »

Asignar consulta SQL larga a variable en forma prolija

Estas en el tema de Asignar consulta SQL larga a variable en forma prolija en el foro de PHP en Foros del Web. Hola a todos, mi siguiente consulta es si hay otra forma de asignar a una variable un valor grande, pero de forma mas sencilla que: ...
  #1 (permalink)  
Antiguo 08/03/2006, 14:42
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 21 años, 10 meses
Puntos: 2
Asignar consulta SQL larga a variable en forma prolija

Hola a todos, mi siguiente consulta es si hay otra forma de asignar a una variable un valor grande, pero de forma mas sencilla que:

$sql = "blabla";
$sql .= "mas blabla";
...

El objetivo de mi consulta es para tener mis consultas SQL ordenadas y entendibles.

Saludos!
__________________
Sergio
  #2 (permalink)  
Antiguo 08/03/2006, 14:52
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Me pregunto si ésto funcionaría y si es lo que andas buscando...

Código PHP:
<?
$accion 
"INSERT into"// Insertar
$tabla "noticias"
$campos "titulo, mensaje";
$valores "values ('$titulo', '$mensaje')";

$sql $accion $tabla $campos $valores//El total
?>
  #3 (permalink)  
Antiguo 08/03/2006, 15:22
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 21 años, 10 meses
Puntos: 2
Precisamente no. Suponiendo que tengo la siguiente consulta:
Código:
select
  a.id_contenido,
  b.fecha,
  b.titulo,
  b.resumen,
  e.align,
  e.descrip,
  e.borde,
  f.nombre,
  group_concat(d.nombre order by d.orden separator ', ')
from gc_portada a
inner join gc_contenidos as b
  on b.id_contenido = a.id_contenido
  and b.publicada = 1
inner join gc_contenidos_categorias as c
  on c.id_contenido = a.id_contenido
inner join gc_categorias as d
  on d.id_categoria = c.id_categoria
left join gc_contenidos_imagenes as e
  on e.id_contenido = a.id_contenido
  and e.orden = 1
left join gc_imagenes as f
  on f.id_imagen = e.id_imagen
group by a.id_contenido
order by a.orden
¿Cómo podria asignar a una variable esta consulta para que quede legible similiar a como está ahí?

Yo habia visto algo con "<" pero no lo encuentro y no sé si es aplicable a esto!
__________________
Sergio
  #4 (permalink)  
Antiguo 09/03/2006, 07:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues simplemente:

Código PHP:
<?
$sql
="select
  a.id_contenido,
  b.fecha,
  b.titulo,
  b.resumen,
  e.align,
  e.descrip,
  e.borde,
  f.nombre,
  group_concat(d.nombre order by d.orden separator ', ')
from gc_portada a
inner join gc_contenidos as b
  on b.id_contenido = a.id_contenido
  and b.publicada = 1
inner join gc_contenidos_categorias as c
  on c.id_contenido = a.id_contenido
inner join gc_categorias as d
  on d.id_categoria = c.id_categoria
left join gc_contenidos_imagenes as e
  on e.id_contenido = a.id_contenido
  and e.orden = 1
left join gc_imagenes as f
  on f.id_imagen = e.id_imagen
group by a.id_contenido
order by a.orden"
;
Un saludo,
  #5 (permalink)  
Antiguo 09/03/2006, 07:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Yo habia visto algo con "<" pero no lo encuentro y no sé si es aplicable a esto!
Creo que te refieres a sintax "HereDoc":

Código PHP:
<?
$sql
=<<<SQL
Tu SQL ... tal cual ...
SQL;
Pero .. ese tipo de sintax sería bueno usarlo si tienes que meter variables entre el SQL sin tener que concatenar.

Código PHP:
<?
$sql
=<<<SQL 
SELECT 
*
FROM tabla
WHERE nose
='$nose'
SQL;
y sin sintax HereDoc:

Código PHP:
<?
$sql
="SQL 
SELECT *
FROM tabla
WHERE nose='"
.$nose."'";

Un saludo,
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 21:56.