Foros del Web » Programando para Internet » PHP »

Paginación con SELECT comparando fechas no me funciona

Estas en el tema de Paginación con SELECT comparando fechas no me funciona en el foro de PHP en Foros del Web. Buenas, a ver, he paginado los datos de una consulta a mi base de datos y el problema es el siguiente, realizo la consulta entre ...
  #1 (permalink)  
Antiguo 05/05/2010, 03:53
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Exclamación Paginación con SELECT comparando fechas no me funciona

Buenas,

a ver, he paginado los datos de una consulta a mi base de datos y el problema es el siguiente, realizo la consulta entre una fecha inicial y una fecha final que el usuario introduce mediante un calendario.

Al validar las fechas me dirige a una pagina que me muestra los resultados entre esas dos fechas, aqui pagino los resultados para que me muestre 10. LA primera pagina me lo enseña OK, pero al pasar a la segunda página, o la tercera o cual sea me muestra este error.
Código PHP:
Error en la consultaYou have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'and fechalb between '1970-01-01 01:00:00' and '1970-01-01 01:00:00' ORDER BY num' at line 1 
Es como si perdiera las fechas al pasar de pagina. I need help!!!!
  #2 (permalink)  
Antiguo 05/05/2010, 06:40
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Paginación con SELECT comparando fechas no me funciona

Tenes que poner código para que te podamos echar una mano.
De esta manera es muy difícil dar una opinión.
  #3 (permalink)  
Antiguo 06/05/2010, 01:29
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Exclamación Respuesta: Paginación con SELECT comparando fechas no me funciona

Aqui pongo el trozo de código

Código:
//---------Conversión de fechas--------------------//
$data_ini=($_POST['data_ini']);
$data_fin=($_POST['data_fin']);
$separa_ini= explode ('/',$data_ini);
$separa_fin= explode ('/',$data_fin);
$dia_ini=$separa_ini[0];
$mes_ini=$separa_ini[1];
$any_ini=$separa_ini[2];
$dia_fin=$separa_fin[0];
$mes_fin=$separa_fin[1];
$any_fin=$separa_fin[2];
$fechaini = date('Y-m-d H:i:00',mktime(0,0,0,$mes_ini,$dia_ini,$any_ini));
$fechafin = date('Y-m-d H:i:00',mktime(0,0,0,$mes_fin,$dia_fin,$any_fin));

include ('mysqlog.php');
include ('mysqlalb.php');
$bd_log = cmysqlog();
$bd_alb = cmysqlalb();
//-----------------------------------------------------//
$registros=10;
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
} 
//-----------------------------------------------------//
	
$query_bd_log = mysql_query ("SELECT * FROM clientes WHERE codcli=$nombre",$bd_log);

$query_bd_alb = mysql_query ("SELECT numalb, nomdest, pobdest, incidencia, pod, DATE_FORMAT(fechalb,'%d/%m/%Y') AS fechalbconv FROM albaran where codcli=$nombre",$bd_alb);
$total_registros=mysql_num_rows($query_bd_alb);

$query_bd_alb = mysql_query ("SELECT numalb, nomdest, pobdest, incidencia, pod, DATE_FORMAT(fechalb,'%d/%m/%Y') AS fechalbconv FROM albaran where codcli=$nombre and fechalb between '$fechaini' and '$fechafin' ORDER BY numalb DESC LIMIT $inicio, $registros",$bd_alb);
$total_paginas = ceil($total_registros / $registros); 

$row2 = (mysql_fetch_array($query_bd_log));

if (!$query_bd_log) {
    $message  = 'Error en la consulta: ' . mysql_error() . "\n";
   die($message);
}
if (!$query_bd_alb) {
    $message  = 'Error en la consulta: ' . mysql_error() . "\n";
    die($message);
	
}
?>
</head>
<body>
<div id="templatemo_container">
	<div id="templatemo_topbar">
    	<div id="salt">
        	<img src="images/transporte.gif" />
        </div>
	</div>
<div id="templatemo_header">
    	<div id="templatemo_logo">
        	<img src="images/servicio-urgente.gif" alt="Logo" />
        </div>    
    	<div id="templatemo_login">
        </div>
	</div>
<div id="templatemo_menu">
    	<ul>
    		<li><a href="seguimiento.php?nombre=<?php echo $nombre ?>" class="lastmenu">Volver</a></li>
    	</ul>
    </div>
  <div id="templatemo_banner">
  <?PHP
			$fechalb = $row["fechalb"];
			$fechalb = new DateTime($fechalb);
			$fechapod = $row["fechapod"];
			$fechapod = new DateTime($fechapod);
			$nomval = $row["nomrem"];
			$numalb = $row["numalb"];
			
			//{
				echo "<tr>";
				echo "<h1>";
				echo ("<p>" . $row2["nomcli"]. "</p>");
				echo "</h1>";
				echo "<h6>";
				echo ("<p>" . $row2["dircli"]. "</p>" . $row2["cpcli"] . "-" .  $row2["pobcli"]. " ( " . $row2["provcli"]. " ) " ."</p>");
				echo "</h6>";
				echo "</tr>";
			//}
		?>
        </div>
  <div class="templatemo_fullgraybox2">
  <table > 
  <tr class="td" bgcolor="#CCCCCC"> 
    <td width="127" align ="center"><strong>Fecha Albaran</strong></td> 
    <td colspan="2" align ="center"><strong>Numero Albaran</strong></td> 
    <td width="373" align ="center"><strong>Nombre Destinatario y Poblacion</strong></td>
    <td width="102" align ="center">Estado</td>
    <td width="24" align ="center"><strong>Ver</strong></td>
  </tr>
  <?php 
  while ($row = mysql_fetch_array($query_bd_alb)){
  		$numalb=$row['numalb'];
		$incidencia = $row["incidencia"];
		$pod = $row["pod"]; ?> 
  <tr> 
	<td align="center" valign="middle"><?php echo $row['fechalbconv']; ?></td>
    <td width="123" align ="center" valign="middle"><?php echo $numalb; ?></td>
    <td width="21" align ="center" valign="middle"><?php if ( $incidencia == "S" )
		{
		echo ("<img src='images/incidencia.jpg'></td>"); 
		}
		elseif ( $incidencia == "F" )
		{
		echo ("<img src='images/incidencia-finalizada.jpg' />"); 
		}
		else
		{
		echo ("<img src='images/sin-incidencia.jpg' />"); 
		} ?></td>
    <td align="left" valign="middle"><?php echo $row['nomdest'] . ' - ' . $row['pobdest'] ; ?></td>
    <td align="center" valign="middle"><?php 
		if($pod=="S")
		{
		echo ("<font color='green'>Entregado </font>");
		}else{
		echo ("<font color='red'>En Reparto</font>");} 
		?></td>
    <td align="center" valign="middle"><?php echo ("<a href='valalbdata.php?nombre=$nombre&albaran=$numalb' TARGET='_blank' width='300' height='100'><img src='images/acceso-albaran.png' /></a>"); ?></td>
  </tr>
  <?php } ?>
</table>
</div>
<div id="templatemo_footer">
<?php
if(($pagina - 1) > 0) {
echo "<a href='comparafechas.php?pagina=".($pagina-1)."&fechaini=".($fechaini)."'>< Anterior</a> ";
} 
for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<a href='comparafechas.php?pagina=$i&fechaini=$fechaini&fechafin=$fechafin'>$i</a> ";
} 
}
if(($pagina + 1)<=$total_paginas) {
echo " <a href='comparafechas.php?pagina=".($pagina+1)."&fechaini=".($fechaini)."'>Siguiente ></a>";
} 
?>
  #4 (permalink)  
Antiguo 06/05/2010, 07:33
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Respuesta: Paginación con SELECT comparando fechas no me funciona

Gracias por todo, ya solucioné el problema.

Etiquetas: fechas, select
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 02:51.