Buscar registros diferentes del buscador

Tengo un buscador con dos input text de nombre fecha_1 y fecha_2
Las tablas a buscar son ficha y diasreservados esta última con la misma id para todos los registros de fechas ocupadas que la tabla ficha donde está el apartamento.
Mi consulta es:
 $fecha_1=$_POST["fecha_1];
 $fecha_2=$_POST["fecha_2];
pagi_sql = "SELECT * FROM ficha INNER JOIN diasreservados ON ficha.id=diasreservados.id WHERE diasreservados.diasReservado<=date($fecha_1) AND diasreservados.diasReservado>=date($fecha_2) ORDER BY ficha.id ASC " or die (mysql_error());
Pero sólo me saca un registro cuando hay muchos más
Una

1 Respuesta

Respuesta
1
En la asignación de $fecha_1 y $fecha2, parece que faltan comillas antes de cerrar el corchete.
Dices que estos campos son de 'tipo texto' pero ¿qué contienen? ¿Una fecha en formato 2008-12-25? ¿Un número?
Porque el resto no lo entiendo muy bien: usas date($fecha_1) en la sentencia SQL, y eso debería devolverte el día del mes de una fecha bien escrita. ¿Es eso lo que quieres?
Por último, tal y como has puesto la condición, sólo se devolverían los registros entre la $fecha_2 y la $fecha_1 y no a la inversa: es decir que se supone que la fecha_2 es menor o igual a la fecha_1
Hola David, primero gracias por contestar.
Se me olvidó poner las comillas pero si que las tenía.En cuanto al campo de texto recibe una fecha tipo dd/mm/aaa. El campo de las fechas esta en datetime, por lo que creo que el date no es correcto, tendría que pasar el dd/mm/aaaa al formato de datetime y la búsqueda es para que muestre los apartamentos que no están reservados estos días.
La verdad es que no sé como realizar la consulta. Espero de tu te experiencia buenas nuevas
Un abrazo
Gabi
La fecha tienes que pasarla a formato aaaa-mm-dd que es el aceptado por SQL.
En cuanto a la búsqueda no puedo ayudarte porqué no sé la estructura de tus tablas ni lo que tienes guardado en cada una. Supongo que lo más práctico sería tener la fecha de entrada y el número de días reservados para poder calcular las fechas libres, o bien la fecha de entrada y la fecha de salida.
Hola David
La base de datos esta estructurada de la siguiente forma:
Tabla ficha: Esta contiene todos los datos de los apartamentos
Tabla diasreservados que contiene dos campos:
El campo id y el campo diasReservado
Donde se relaciona con la tabla ficha mediante la id.
Estos son algunos de sus registros:
ID diasReservado
31 2008-12-29 00:00:00
31 2008-12-30 00:00:00
31 2008-12-31 00:00:00
32 0000-00-00 00:00:00
33 0000-00-00 00:00:00
33 2008-12-13 00:00:00
33 2008-12-14 00:00:00
34 0000-00-00 00:00:00
35 2008-12-28 00:00:00
36 2008-12-15 00:00:00
36 2008-12-16 00:00:00
36 2008-12-17 00:00:00
36 2008-12-18 00:00:00
36 2008-12-19 00:00:00
36 2008-12-20 00:00:00
He escrito esta consulta que no me da error pero no me muestra nada porque no consigo saber como pasar el contenido de la variable ficha:p.ej 12-12-2008 al formato datetime(2008-12-12 00:00:00) para poder hacer efectiva la búsqueda
$fecha_1=$_POST['fecha_1'];
$fecha_2=$_POST['fecha_2'];
 pagi_sql = "SELECT ficha.*,diasreservados.* FROM ficha INNER JOIN diasreservados ON ficha.id=diasreservados.id WHERE diasreservados.diasReservado != $fecha_1 AND $fecha_2 ORDER BY ficha.id ASC " or die (mysql_error());
Espero haberte aclarado mejor mi problema
Gracias de nuevo
Gabi
Por lo que parece diasReservado es del tipo DATETIME cuando debería ser de tipo DATE, puesto que parece que no necesitas la hora, sino sólo el día que está reservado.
Cambia el campo a DATE con phpAdmin y podrás comparar en la select con normalidad siempre que pongas la fecha a comparar ($fecha_1 y $fecha_2) en el formato aaaa-mm-dd como ves que aparece.
La clausula WHERE en el caso de que quieras los apartamentos disponibles entre las dos fechas debería ser:
WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2'
Bien ya he puesto diasReservados en DATE, pero ¿cómo puedo hacer para que $fecha_1 y $fecha_2 se trasformen en yyyy-mm-dd dentro de la consulta SELECT, ya que los usuarios ingresan dd-mm-yyyy?
Las fechas que hay en diasReservados son de apartamentos ocupados por lo que tendrían que ser apartamentos que esos días no estén reservados, por eso puse ! = en vez de BETWEEN
Gracias de nuevo
Gabi
Puedes darle la vuelta a la fecha con:
$fecha_1 = substr($fecha_1, 6, 4) . "-" . substr($fecha_1, 3, 2) . "-" . substr($fecha_1, 0, 2);
Para apartamentos que no esten reservados entre esas fechas deberías usar:
pagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2') AS  ORDER BY ficha.id ASC " or die (mysql_error());
Es decir, te interesan los apartamentos que no son los que tienen alguna reserva en alguno de esos días.
MySQL tiene razón, hay un error: antes de AS ORDER hay un paréntesis que sobra. Fíjate que te dice cerca de donde está el error y esta vez acierta totalmente.
Le quité el paréntesis y me arroja este error
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31' AS ORDER BY ficha.id ASC. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS ORDER BY ficha.id ASC' at line 1
Ahora sobra el AS delante de ORDER.
Esta consulta te dará únicamente el número de reservas entre las fechas. Si un apartamento está reservado el 28 y el 30 se contará dos veces.
Uf! Llevo horas intentándolo de diferentes maneras. Estas son unas pocas
Al quitarle el AS me da el siguiente error:
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31' ORDER BY ficha.id ASC. Mysql dijo: Unknown column 'ficha.id' in 'order clause'
Me fijo que le falta un paréntesis de cierre y lo pongo:
tiny_mce_markerpagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2') ORDER BY ficha.id ASC" or die (mysql_error());
y me arroja el siguiente error:
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31') ORDER BY ficha.id ASC. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY ficha.id ASC' at line 1
Lo pruebo de diferentes maneras sin y con comillas comillas en $fecha_1 y $fecha_2 y sin el ORDER BY
ERROR:
Error en la consulta limitada: SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN 2008-12-31 AND 2009-01-02 LIMIT 0,10. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Con el paréntesis que falta
tiny_mce_markerpagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2')" or die (mysql_error());
ERROR
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31'). Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Otra:
tiny_mce_markerpagi_sql = "SELECT * FROM ficha WHERE id NOT IN (SELECT id FROM diasreservados WHERE diasReservado BETWEEN $fecha_1 AND $fecha_2") or die (mysql_error());
ERROR
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasReservado BETWEEN 2008-12-28 AND 2008-12-31). Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
La verdad es que estoy un poco desesperado. ¿Dónde puede estar el fallo de las comillas y el paréntesis que siempre me está dando?
Gracias de nuevo
Gabi
Me parece que te estás confundiendo. Tranquilizate y lee correctamente cada error que te sale.
Todos los errores se refieren a la sentencia que empieza con 'SELECT COUNT(*)' y por algún motivo la mayoría de veces modificas otra sentencia diferente que empieza por SELECT * FROM ficha'
Quizás deberías repasar el manual de MySQL sobre la sintaxis correcta de las sentencias:
http://dev.mysql.com/doc/refman/5.0/es/
Te diré que todo dato que no sea estrictamente un número, deberás ponerlo siempre entre comillas simples. Por lo tanto no es correcto:
BETWEEN 2008-12-18
Sino:
BETWEEN '2008-12-18'
Fíjate en los paréntesis de apertura y de cierre. En la sentencia que cuenta sólo están en COUNT(*), en la otra sentencia abarcan la SELECT y debe cerrar ANTES de las comillas dobles que indican el final de la cadena.
No te confundas con las comillas: las dobles las usamos al principio y al final de la sentencia para indicar dónde empieza y donde termina. Las simples encierran datos dentro de la cadena.
En el primero de los errores te esta diciendo que ordenas por ficha. Id y que desconoce la columna, lo cual es normal porque en esa consulta no interviene la tabla fichas.
En fin, insisto en que deberías leer el error con cuidado y fíjate también en qué linea falla para no equivocarte de sentencia.
Hola David he estado leyendo detenidamente lo que me dices y he intentado de todo y con la sentencia que me parece más adecuada es
tiny_mce_markerpagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2' ORDER BY diasreservados.id ASC" or die (mysql_error());
pero me arroja el dichoso error que no logro resolver
Error en la consulta limitada: SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31' ORDER BY diasreservados.id ASC LIMIT 0,10. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
y si le quito el ORDER BY me sale el mismo error
La verdad es que me estoy volviendo loco con el tema. ¿Cómo lo resolverías tú?
Gracias de nuevo por tu paciencia
Gabi
Me reitero en los consejos que ya te he dado. Fíjate en que en esta sentencia se abre un paréntesis y no se cierra.
Además si quieres un orden deberías aplicarlo sobre la select final que se realiza sobre la tabla ficha, por tanto no tiene sentido que ordenes según la tabla diasreservados, puesto que ese orden no se a 'ver'.
La sentencia correcta sería:
$sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2') ORDER BY ficha.id ASC" or die (mysql_error());
Gracias David por tu paciencia .
Ya lo intenté antes como me dices y por eso estoy desesperado pero me sigue saliendo el mismo error
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31') ORDER BY ficha.id ASC. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY ficha.id ASC' at line 1
Gracias de nuevo
Vamos a ver, lo de leer los errores con tranquilidad lo he dicho en serio: como ves, yo te he dado una sentencia correcta que empieza por SELECT ficha. * Y el error que te da es sobre OTRA SENTENCIA que empieza por SELECT COUNT(*)
Esta segunda sentencia sigue teniendo dos errores: uno que el PARÉNTESIS DE CIERRE antes del ORDER está de más, puesto que no se abre, y otro que estás intentando ordenar por un campo de la tabla ficha cuando ese tabla no se usa en la consulta y cuando además ordenar NO TIENE NINGÚN SENTIDO puesto que lo que te devolverá la consulta es un sólo número.
ESTA SEGUNDA SENTENCIA, correctamente escrita sería:
SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31'
Espero que esta vez te lo mires con atención, porque llevo diciéndote lo mismo en mis últimos mensajes. Yo te intento ayudar, pero tu también has de poner de tu parte y esforzarte un poco en prestar atención.
Hola David
Ya he descubierto el fallo. Estoy utilizando paginator.Sin paginator funciona bien pero con el me da el mismo error de siempre.
Error en la consulta limitada: SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-28' AND '2008-12-31' ORDER BY diasreservados.id ASC LIMIT 0,10. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
¿Sabes qué puede pasar?
Gracias de nuevo
Gabi
Si usas Paginator no hay diferencia. La única diferencia es que la sentencia sql debe almacenarse en la variable $_pagi_sql y que la sentencia no puede tener LIMIT puesto que el paginator lo añade.
Me vuelves a repetir el mismo error de dos mensajes anteriores: NO HAS CERRADO EL PARÉNTESIS antes de ORDER BY
Y además el ORDER BY diasreservados. Id ASC NO TIENE SENTIDO puesto que la tabla diasreservados NO ESTÁ EN LA CONSULTA.
Mira, veo que esto será la historia interminable. Te propongo que me copies el código entero de la página y yo te la devuelvo corregida.
Ya te digo con paginator me lanza error y sin él me funciona de maravilla
<?php
include("header.php");
include("includes/config.php");
include("includes/funciones.php");
?>
<?php
$fecha_1 = $_POST['fecha_1'];
$fecha_2 = $_POST['fecha_2'];
$fecha_1 = substr($fecha_1, 6, 4) . "-" . substr($fecha_1, 3, 2) . "-" . substr($fecha_1, 0, 2);
$fecha_2 = substr($fecha_2, 6, 4) . "-" . substr($fecha_2, 3, 2) . "-" . substr($fecha_2, 0, 2);
$cnx = conectar();
tiny_mce_markerpagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2')AND localidad='Barcelona' ORDER BY ficha.id ASC" or die (mysql_error());
// cantidad de resultados por página (opcional, por defecto 20)
tiny_mce_markerpagi_cuantos = 10;
tiny_mce_markerpagi_nav_num_enlaces = 5;
tiny_mce_markerpagi_nav_estilo = "";
include( "paginator.inc.php");
?>
<table width="100%">
<tr>
<!--left si lo hay -->
<td>
<table width="60%" border="0" align="center" class="container_aviso">
<tr>
<td><?php echo TEXT_MAIN; ?></td>
</tr>
</table>
<table width="72%" border="0" align="center">
<tr>
<td>
<div class="tabber">
<div class="tabbertab">
<h2><?php echo APBCN; ?></h2>
<form action="index_apbcn.php" method="POST" name="busqueda_1" id="busqueda_1" >
<table align="center">
<tr>
<td> Del dia
<input type="text" name="fecha_1" id="fecha_1" value="<?php echo tiny_mce_markerPOST["fecha_1"];?>"/>
</td>
<td>al dia
<input type="text" name="fecha_2" id="fecha_2" value="<?php echo tiny_mce_markerPOST["fecha_2"];?>"/> </td>
<td><input type="submit" name="submit" id="submit" value="Buscar" /></td>
</tr>
</table>
</form>
</div>
<div class="tabbertab">
<h2><?php echo APMM; ?></h2>
<p>
Buscador 2</p>
</div>
</div>
</td>
</tr>
</table>
<table width="88%" height="195" border="0" align="center" valign="top">
<?php
while ($row = mysql_fetch_array(tiny_mce_markerpagi_result)) {
?>
<tr>
<td colspan="4" align="center" class="titulos"><?php echo $row['nombre']; ?><br />
<?php echo $row['localidad']; ?> (<?php echo $row['distrito']; ?>)</td>
</tr>
<tr>
<td width="30%" rowspan="2" align="left" valign="top"><a href="pisos_detall.php?id=<?php echo $row['id']; ?>&lg=<?php echo $lg;?>"><img src="fotos_pisos/<?php echo $row['foto1']; ?>" width="250" border="0" /></a></td>
<td colspan="3" align="left" valign="top">- <?php
if($lg=="es"){
echo utf8_encode ($row['distancia_es']);
}
if($lg=="en"){
echo utf8_encode($row['distancia_en']);
}
if($lg=="fr"){
echo utf8_encode ($row['distancia_fr']);
}
?></td>
</tr>
<tr>
<td width="31%" align="left" valign="top">
- <strong>m2</strong> <?php echo $row['m2']; ?> <br />
- <strong><?php echo DORMIR; ?></strong> <?php echo $row['capacidad']; ?> <?php echo PERSONAS; ?><br />
- <strong><?php echo HABITACIONES; ?></strong> <?php echo $row['habitaciones']; ?><br />
- <strong><?php echo CAMASD; ?></strong> <?php echo $row['camas_dobles']; ?><br />
- <strong><?php echo CAMASI; ?></strong> <?php echo $row['camas_ind']; ?><br />
- <strong><?php echo SOFACAMA; ?></strong> <?php echo $row['sofa_cama']; ?><br /> </td>
<td width="21%" align="left" valign="top">- <strong><?php echo COCINA; ?></strong> <?php
if($lg=="es" & $row['cocina']=="S"){
echo "Si";
}else if($lg=="es" & $row['cocina']=="N"){
echo "No";
}
if($lg=="en" & $row['cocina']=="S"){
echo "Yes";
}else if($lg=="en" & $row['cocina']=="N"){
echo "No";
}
if($lg=="fr" & $row['cocina']=="S"){
echo "Oui";
}else if($lg=="fr" & $row['cocina']=="N"){
echo "Non";
}
?>
<br />
- <strong><?php echo BALCON; ?></strong>
<?php
if($lg=="es" & $row['balcon']=="S"){
echo "Si";
}else if($lg=="es" & $row['balcon']=="N"){
echo "No";
}
if($lg=="en" & $row['balcon']=="S"){
echo "Yes";
}else if($lg=="en" & $row['balcon']=="N"){
echo "No";
}
if($lg=="fr" & $row['balcon']=="S"){
echo "Oui";
}else if($lg=="fr" & $row['balcon']=="N"){
echo "Non";
}
?><br />
- <strong><?php echo TERRAZA; ?></strong>
<?php
if($lg=="es" & $row['terraza']=="S"){
echo "Si";
}else if($lg=="es" & $row['terraza']=="N"){
echo "No";
}
if($lg=="en" & $row['terraza']=="S"){
echo "Yes";
}else if($lg=="en" & $row['terraza']=="N"){
echo "No";
}
if($lg=="fr" & $row['terraza']=="S"){
echo "Oui";
}else if($lg=="fr" & $row['terraza']=="N"){
echo "Non";
}
?><br />
- <strong><?php echo ALTURA; ?></strong> <?php echo $row['altura']; ?> <br />
- <strong><?php echo ASCENSOR; ?></strong> <?php
if($lg=="es" & $row['ascensor']=="S"){
echo "Si";
}else if($lg=="es" & $row['ascensor']=="N"){
echo "No";
}
if($lg=="en" & $row['ascensor']=="S"){
echo "Yes";
}else if($lg=="en" & $row['ascensor']=="N"){
echo "No";
}
if($lg=="fr" & $row['ascensor']=="S"){
echo "Oui";
}else if($lg=="fr" & $row['ascensor']=="N"){
echo "Non";
}
?><br />
- <strong>Parking</strong>
<?php
if($lg=="es" & $row['parking']=="S"){
echo "Si";
}else if($lg=="es" & $row['parking']=="N"){
echo "No";
}
if($lg=="en" & $row['parking']=="S"){
echo "Yes";
}else if($lg=="en" & $row['parking']=="N"){
echo "No";
}
if($lg=="fr" & $row['parking']=="S"){
echo "Oui";
}else if($lg=="fr" & $row['parking']=="N"){
echo "Non";
}
?>
</td>
<td width="18%" valign="bottom"><?php echo PRECIO; ?> <b><?php echo $row['p1']; ?> ?</b><br />
<a href="pisos_detall.php?id=<?php echo $row['id']; ?>&lg=<?php echo $lg;?>"> + <?php echo INFORMACION; ?></a><br />
</b></td>
</tr>
<?php
}//fin del while
?>
<tr>
<td colspan="4">
<div align="center"><?php if (substr_count(tiny_mce_markerpagi_navegacion,tiny_mce_markerpagi_separador) > 1)
{
echo"
<p>".utf8_encode(tiny_mce_markerpagi_navegacion)."</p>
";
}?></div>
</td>
</tr>
<?php
mysql_freeresult(tiny_mce_markerpagi_result);
mysql_close($cnx);
?>
</table>
</td>
</tr>
</table>
<?php include("footer.php"); ?>
Gracias por tu paciencia
Gabi
PD:Donde pone tyny_mc_maker es = $
Error del editor cuando se pega
el error está en la asignación que haces a la variable $_pagi_sql. Allí debes asignar una cadena y resulta que al final de la misma, has añadido un " or die (mysql_error())" que no tiene sentido en este contexto.
Prueba la siguiente asignación que debería ser correcta (si existe el campo ficha. Localidad):
$_pagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2') AND localidad='Barcelona' ORDER BY ficha.id ASC";
Me da el siguiente error
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2009-01-21' AND '2008-12-31') AND localidad='Barcelona' ORDER BY ficha.id ASC. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND localidad='Barcelona' ORDER BY ficha.id ASC' at line 1
Si le quito el paréntesis y AND localidad='Barcelona' ORDER BY ficha.id ASC
este error
Error en la consulta limitada: SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-31' AND '2009-01-03' LIMIT 0,10. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
con paréntesis
tiny_mce_markerpagi_sql = "SELECT ficha.* FROM ficha WHERE ficha.id NOT IN (SELECT diasreservados.id FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '$fecha_1' AND '$fecha_2')";
me da este error
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM diasreservados WHERE diasreservados.diasReservado BETWEEN '2008-12-25' AND '2008-12-30'). Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Ya empiezo a no entender nada del error del paginator que siempre me ha funcionado muy bien
Gracias de nuevo por tu paciencia
Gabi
Es evidente que el tal paginator tiene un error en el código y que malinterpreta la sentencia.
Te sugiero que o bien cambies de paginador, o bien pagines tu mismo, o bien cambies la sentencia por una de más sencilla y que el Paginator no se líe.
Por lo que veo Paginator intenta 'analizar' la sentencia y lo hace mal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas