Foros del Web » Programación para mayores de 30 ;) » Programación General »

Comas al armar una consulta select (no es tema de base de datos)

Estas en el tema de Comas al armar una consulta select (no es tema de base de datos) en el foro de Programación General en Foros del Web. Imagínense que yo quiero seleccionar en base a una condición determinados campos de una tabla para formar una consulta select . Mi problema está en ...
  #1 (permalink)  
Antiguo 04/06/2010, 05:36
Avatar de Lr_Darko  
Fecha de Ingreso: octubre-2008
Mensajes: 41
Antigüedad: 16 años, 1 mes
Puntos: 2
Busqueda Comas al armar una consulta select (no es tema de base de datos)

Imagínense que yo quiero seleccionar en base a una condición determinados campos de una tabla para formar una consulta select.

Mi problema está en que no sé como armarla para poner bien las comas.

Ej: Una tabla fotografías con cuatro campos (id, img1, img2, img3).

En base a si el usuario mandó datos en el formulario para estos campos imágenes necesito seleccionar esos campos para ver el contenido que ya existe en la tabla (puesto que lo está editando).

Código PHP:
$consulta "SELECT ";

if(isset(
$_FILES['img']['name'][0]) && !empty($_FILES['img']['name'][0])) { $consulta.= "img1, ";}
    if(isset(
$_FILES['img']['name'][1]) && !empty($_FILES['img']['name'][1])) { $consulta.= "img2, ";}
    if(isset(
$_FILES['img']['name'][2]) && !empty($_FILES['img']['name'][2])) { $consulta.="img3, ";}

$consulta.= "FROM fotos where id='$id_coche'; 
¿Alguien me ilumina?
  #2 (permalink)  
Antiguo 04/06/2010, 05:43
Avatar de Lr_Darko  
Fecha de Ingreso: octubre-2008
Mensajes: 41
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Comas al armar una consulta select (no es tema de base de datos)

Lo único que se me ocurre es ir guardando el nombre del campo en un array y luego contar el número de campos e ir montándo la consulta.

¿Puede ser?
  #3 (permalink)  
Antiguo 04/06/2010, 09:03
 
Fecha de Ingreso: febrero-2010
Ubicación: Guayaquil - Ecuador
Mensajes: 350
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Comas al armar una consulta select (no es tema de base de datos)

Podrias hacer lo siguiente: No colocar el select obligadamente al principio del query sino en cada una de las opciones preguntar si la cadena esta vacia, si esta vacia colocar el select mas el primer campo es decir:
"select img1 "
, caso contrario colocar solo el campo pero anteponiendo la coma es decir ", img2 "
Vamos probando:
Tienes tu cadena vacia y verificas el primer campo, supongamos que no va, verificas el segundo, efectivamente va y armas tu cadena como "select img2 ", verificas tu tercer campo y en caso de que vaya tendrias que agregar a tu cadena ", img3 " y tendrias "select img2, img3 " y lo demas, en caso de que no vaya el campo 3 tendrias solo "select img2 ".

Espero haberte ayudado.
  #4 (permalink)  
Antiguo 04/06/2010, 10:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 38
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Comas al armar una consulta select (no es tema de base de datos)

Yo lo haría asi:

$consulta ="select ";

Si primer campo tiene valor entonces

$consulta = $consulta . ", " . campo1;

Si segundo campo tiene valor entonces

$consulta = $consulta . ", " . campo2; ....

al final

$consulta = $consulta . " from xxxx where xxx=yyyy";

Etiquetas: comas, select, tema
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 03:56.