Foros del Web » Programando para Internet » PHP »

SELECT y timestamp()

Estas en el tema de SELECT y timestamp() en el foro de PHP en Foros del Web. Hola todos. He leído toda la info pero no hay caso. Tengo 2 fechas que me llegan desde un form y en base a ellas ...
  #1 (permalink)  
Antiguo 07/07/2005, 18:38
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
SELECT y timestamp()

Hola todos.

He leído toda la info pero no hay caso. Tengo 2 fechas que me llegan desde un form y en base a ellas necesito hacer un SELECT eligiendo los registros comprendidos entre dichas fechas.
Esta es la parte del código donde intento hacerlo:
Código PHP:
$dia_in=$_POST["from_date"];
$dia_fin=$_POST["to_date"];
$mes_in=$_POST["from_month"];
$mes_fin=$_POST["to_month"];
$ano_in=$_POST["from_year"];
$ano_fin=$_POST["to_year"];
$date1="$mes_in,$dia_in,$ano_in";
$date2="$mes_fin,$dia_fin,$ano_fin";
$convert1=mktime(0,0,0,$date1);
$convert2=mktime(0,0,0,$date2);
$q "select * FROM control WHERE timestamp>='$convert1' AND timestamp<='$convert2' LIMIT $init,$end";
$v $db->get_rsltset($q); 
Pero no hay manera, no me muestra ningún registro (y están ahí)... sólo veo resultados si elimino el AND... pero no entiendo por qué
Alguna ayudita ?
Muchas gracias
  #2 (permalink)  
Antiguo 09/07/2005, 03:33
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... haz verificado antes que tu ficha final sea en realidad más grande que la inicial???... verifica primero pases y conviartas bien los valores.... igual te interezaría usar campo BETWEEN valor1 AND valor2 en vez de las dos condicionales...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 09/07/2005, 03:48
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Hola Jam1138
Mira no entiendo realmente por qué pero lo solucioné agregando una variable $date. Quedó así:
Código PHP:
$date date("m/d/Y");
$convert1=mktime(0,0,0,date($mes_in),date($dia_in),date($ano_in));
$convert2=mktime(23,59,59,date($mes_fin),date($dia_fin),date($ano_fin));
$sqlalt="SELECT SUM(trans_fee) AS TOTAL_FEES, COUNT(trans_fee) AS NUMBER_FEES FROM transactions WHERE timestamp>=$convert1 AND timestamp<=$convert2 AND trans_fee>0 ORDER BY timestamp desc"
Antes no salía nada porque era como si comparara papas con naranjas y de esta forma sale... pero ya te digo... no sé por qué logré el codigo pero no lo entiendo.
Muchas gracias,cariños
  #4 (permalink)  
Antiguo 09/07/2005, 12:17
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Buano... no veo dónde utilizas esa variable $date.

Lo que estaba pasando antes era que estabas enviando a la función mktime() parámetros incorrectos:
Código PHP:
$date1 "$mes_in,$dia_in,$ano_in"// Esto es simplemente una cadena, no tres parámetros.
$convert1 mktime(0,0,0,$date1); // sería como hacer mktime(0,0,0,"11,23,2005"). Deberías tener seis parámetros y sólo tienes 4. (Las comas son parte de la cadena y no se reconocen como delimitadores de parámetros.) 
Por eso lo que haces luego ya funciona:
Código PHP:
$convert1 mktime(000$mes_in$dia_in$ano_in); // Tampoco debería ser necesario el date() 
Saludos
  #5 (permalink)  
Antiguo 09/07/2005, 12:46
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
qué boba que soy
Ahora entendí.

Gracias, gracias, gracias
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 19:29.