Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/09/2011, 11:17
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con consulta y timestamp

Hola huesos52,

probaré este modo de hacerlo q me propones, gracias.

de todos modos creo q lo tengo solucionado del modo, digo q creo q lo tengo solucionado, pq tengo q comprobar q realmente el intervalo es valido, a ver, resolver resuelve la consulta: (respuesta del servidor)

select id_haul, id_catch, shooting_time, total_discarded_weight, ST_AsGeoJSON(geom, 4) AS geojson from "haul" natural inner join catch where a_code in ( 'HKE') and shooting_time between '20110912' and (timestamp '20110914' + interval '1 days') pongo + interval 1 days para q me coja el ultimo dia, sino pasa de mi.

pero tengo q testarla bien con datos reales pq estoy trabajando con tablas de prueba:

le pongo la comilla a cada una de las fechas para poder hacer la cadena completa junto con los datos de las especies q recibo del form, proceso ya en javascript para no saturar el servidor. del form me traigo una cadena del tipo:

#'cadena1'#'cadena2'...#'cadenaN'... sustituyo el # por comas y despues compongo la cadena completa:

$date1 = "'".$_POST['date1']."'";
$date2 = "'".$_POST['date2']."'";
$especies_procesar = $_POST['especies'];
if($especies_procesar[0] == '#') $especies_procesar[0] = ' '; //Elimina el primer #
$especies_procesar = str_replace("#",",",$especies_procesar);


en lugar de hacer esta parte de arriba con el string, tengo q probar a usar en la consulta:

where a_code in ('.ltrim($especies_procesar,',').')

a lo mejor queda mas elegante, no?

la consulta final, sin los cambios del ltrim, y q me devuelve valores:

$query = "select id_haul, id_catch, shooting_time, total_discarded_weight, ST_AsGeoJSON(geom, 4) AS geojson from \"haul\" natural inner join catch where a_code in (".$especies_procesar.") and shooting_time between ".$date1." and (timestamp ".$date2." + interval '1 days')";

gracias de nuevo, da gusto encontrarte personas q dedican tiempo a resolver dudas a los q no sabemos, espero algun dia yo tb ser uno de ellos.