Foros del Web » Programando para Internet » PHP »

problemas con fechas en php

Estas en el tema de problemas con fechas en php en el foro de PHP en Foros del Web. que tal amigos: tengo un problema con una consulta para mostrar registros en un rango de fechas, en mi página inicial donde selecciono las fechas ...
  #1 (permalink)  
Antiguo 01/03/2007, 17:15
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
problemas con fechas en php

que tal amigos: tengo un problema con una consulta para mostrar registros en un rango de fechas, en mi página inicial donde selecciono las fechas tengo esto:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>CONSTRUCTIVO.COM---PANEL DE ADMINISTRACI&Oacute;N</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilo/estilo.css" rel="stylesheet" type="text/css">
</head>
<? include("conexion.php");?>
<body>

<div align="center">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td height="150" valign="middle"><? include("index_cabeza.php");?>&nbsp;</td>
</tr>
<tr>
<td><div align="center"></div></td>
</tr>
<tr>
<td><div align="center"><span class="titulo">Escoja el rango de fechas en el cual desea que se elimine las licitaciones</span><br>
<br>
</div></td>
</tr>
<tr>
<td><div align="center">
<form name="form1" method="post" action="elimina_licitacion_final.php">
<table width="50%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="49%"><div align="center" class="fecha">Fecha Incial</div></td>
<td width="51%"><div align="center" class="fecha">Fecha Final</div></td>
</tr>
<tr>
<td><div align="center">
<select name="fecini" id="fecini">
<option value="0">Eliga un fecha...</option>
<?
//obtengo los datos de la base
$sql = "SELECT DATE_FORMAT(fechalim, '%d-%m-%Y') as fechalim FROM licitaciones order by fechalim desc";
//$sql = "SELECT * FROM licitaciones order by fechalim desc";
$r = mysql_query($sql);
//mediante un while recorro todas los rubros y los imprimo en pantalla
while($row = mysql_fetch_array($r)){
?>
<option value="<?=$row["fechalim"]?>"><?=$row["fechalim"]?></option>
<? } ?>
</select>
</div></td>
<td><div align="center">
<select name="fecfin" id="fecfin">
<option value="0">Eliga un fecha...</option>
<?
//obtengo los datos de la base
$sql = "SELECT DATE_FORMAT(fechalim, '%d-%m-%Y') as fechalim FROM licitaciones order by fechalim desc";
$r = mysql_query($sql);
//mediante un while recorro todas los rubros y los imprimo en pantalla
while($row = mysql_fetch_array($r)){
?>
<option value="<?=$row["fechalim"]?>"><?=$row["fechalim"]?></option>
<? } ?>
</select>
</div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="Submit" type="submit" class="fecha" onclick="MM_validateForm('titulo','','R','copete', '','R','cuerpo','','R');return document.MM_returnValue" value="Mostrar" />
&nbsp;&nbsp;&nbsp;
<input name="Submit2" type="reset" class="fecha" value="Cancelar" />
</div></td>
</tr>
</table>
</form>
</div></td>
</tr>
</table>
</div>
</body>
</html>

y en mi página final donde recibo las fechas para mostrar los registros tengo esto:

<?PHP
include("conexion.php");
//include("seguridad.php");

$fecini = $_POST['fecini'];
$fecfin = $_POST['fecfin'];

if ($_GET['accion']=="elimina"){//validar user

$id=$_GET['id'];

str_replace("'","",$id);



//$query = "INSERT INTO noticias(titulo,copete,cuerpo,dirimagen,nomimagen, tipoimagen)";
//$query.= " VALUES('$titulo','$copete','$cuerpo','$imagenbin', '$nomimagen','$tipoimagen')";
$rsdel=mysql_query("delete from licitaciones where idlicitacion=$id",$dbh);
if ($rsdel==1){
$msg="Eliminación realizada con éxito";
}
//$result = mysql_query($query) or die(mysql_error());





}
?>
<title>CONSTRUCTIVO.COM---- Panel de Administraci&oacute;n</title>
<link href="estilo/estilo.css" rel="stylesheet" type="text/css">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="93" valign="bottom" bgcolor="#FFFFFF"><div align="center"><br>
<br>
<img src="../logosconstructivo/constructivo3d.gif" width="250" height="41"><br>
<br>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center" class="principal">
<p>Licitaciones</p>
</div></td>
</tr>
</table>
<br>
</div></td>
</tr>
<tr>
<td><div align="center">

<p>
<? if ($msg!=''){
echo "<span class='titulo'>".$msg."</span>";
}?>
</p>
<?php

$sql = "SELECT licitaciones.idlicitacion, licitaciones.entidad, licitaciones.direccion, licitaciones.telefono, licitaciones.convocatoria, licitaciones.objeto, rubros.descripcion, licitaciones.valor, DATE_FORMAT( licitaciones.fechalim, '%d-%m-%Y' ) AS fechalim, licitaciones.costo, licitaciones.bases FROM licitaciones INNER JOIN rubros ON licitaciones.idobjproceso = rubros.idobjproceso WHERE licitaciones.fechalim BETWEEN $_GET['$fecini'] AND $_GET['$fecfin'] ORDER BY fechalim DESC";
//$sql = "SELECT Idnoticia, Titulo, Copete, Cuerpo, Fuente, DATE_FORMAT( Fecha, '%d/%m/%Y' ) as Fecha, Dirimagen, Nomimagen, Tipoimagen, Leyenda, Tiponoticia FROM Noticias ORDER BY Idnoticia DESC LIMIT 2";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

?>

<table width="98%" border="1" align="center" cellpadding="2" cellspacing="2" bgcolor="#FFFFFF" class="textoPie">

<tr class="titular">
<td width="109" valign="top" class="titular"><div align="left">Entidad</div></td>
<td width="114" valign="top" class="titular"> <div align="left">Direccion</div></td>
<td width="114" valign="top" class="titular"><div align="left">Tel&eacute;fono</div></td>
<td width="65" valign="top" class="titular"><div align="left">Convocatoria</div></td>
<td width="63" valign="top" class="titular"><div align="left">Objeto</div></td>
<td width="67" valign="top" class="titular"><div align="left">Rubro</div></td>
<td width="67" valign="top" class="titular"><div align="left">Valor</div></td>
<td width="67" valign="top" class="titular"><div align="left">Fecha</div></td>
<td width="32" valign="top" class="titular"><div align="left">Costo</div></td>
<td width="33" valign="top" class="titular"><div align="left">Bases</div></td>
<td width="67" valign="top" class="titular"><div align="left">Acci&oacute;n</div></td>
</tr>
<?
while ($registro=mysql_fetch_assoc($consulta)){


?>
<tr>
<td valign="top" class="Titulo"><? echo $registro['entidad'];?></td>
<td valign="top" class="texto"><? echo $registro['direccion'];?></td>
<td valign="middle" class="texto"><div align="left"><? echo $registro['telefono']; ?></div></td>
<td valign="middle" class="texto"><div align="left"><? echo $registro['convocatoria'];?></div></td>
<td valign="middle" class="texto"><div align="left"><? echo $registro['objeto'];?></div></td>
<td valign="middle" class="texto"><div align="left"><? echo $registro['descripcion'];?></div></td>
<td valign="middle" class="texto"><? echo $registro['valor'];?></td>
<td valign="middle" class="texto"><? echo $registro['fechalim'];?></td>
<td valign="middle" class="texto"><? echo $registro['costo'];?></td>
<td valign="middle" class="texto"><div align="left"><? echo $registro['bases'];?></div></td>
<td valign="middle" class="texto"><a href="listado_licitaciones.php?accion=elimina&id=< ? echo $registro['idlicitacion'];?>" class="boletin">Eliminar</a></td>
</tr>

<? } ?>
</table>
<p><a href="publica_licitacion.php" class="boletin">publicar licitaciones</a><br />
</p>
</form>


</div></td>
</tr>
</table>

el problema está en que al realizar la consulta no me muestra ningún registro y debería mostrarme por lo menos 5 registros.

me parece que es un problema al convertir fechas, necesito saber que debo aplicarle a las variables de la segunda página que reciben las fechas de la pagina anterior para que al colocar esas variables en la consulta los datos sena reconocidos por mysql como y-m-d y ejecute la consulta.

Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 01/03/2007, 23:31
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Re: problemas con fechas en php

A ver , porfavor explícame esta query:

Cita:
$sql = "SELECT DATE_FORMAT(fechalim, '%d-%m-%Y') as fechalim FROM licitaciones order by fechalim desc";
Te recomiendo, antes de enviar la query a la base de datos, imprímela ( echo $sql ) y muéstranos el resultado .

Saludos.
  #3 (permalink)  
Antiguo 02/03/2007, 09:00
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
Re: problemas con fechas en php

Hola: esa consulta lo que hace es llenar un combo con todas las fechas que hay en la tabla licitaciones en el campo fechalim de mi bd y con el date_format las transformo para que se vean en formato día,me,año pero cuando la envío a la otra página estas llegan en este formato y mysql no lo reconoce por eso necesito convertilas a formato año, mes, día y enviar ese parámetro a la consulta que muestra los resultados.
  #4 (permalink)  
Antiguo 02/03/2007, 09:24
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: problemas con fechas en php

Hola...
sino he entendido mal solo tienes q girar la fecha cuando la recoges no?
Código PHP:
$mifecha $_GET['fecha1'];
$trozosexplode("-"$mifecha );

$dia $trozos[0]; // trozo1
$mes =  $trozos[1]; // trozo2
$ano =  $trozos[2]; // trozo3

$mifechaamigusto=$ano."-".$mes."-".$dia
http://es.php.net/explode


aqui tienes un ejemplo con expressiones regulares:
http://www.desarrolloweb.com/articulos/1280.php


salduos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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:48.