Este es el código que estoy utilizando:
Código PHP:
$pagina = $_POST["pagina"];
$filasxpagina = $_POST["filasxpagina"];
$paginasamostrar = $_POST["paginasamostrar"];
$conexion = new mysqli("localhost","root","","ejemplo",3306);
$consulta = "SELECT COUNT(*) AS count FROM tbTabla ";
$result = $conexion->query($consulta);
$fila = $result->fetch_array();
$numfilas = $fila['count'];
if( $numfilas > 0 ) {
$numpaginas = ceil($numfilas/$filasxpagina);
$inicio = $filasxpagina*$pagina - $filasxpagina;
if(isset($_POST) && !empty($_POST))
{
if(!empty($_POST['fecha']) && !empty($_POST['fechaH']))
{
$fecha=explode('/', $_POST['fecha']);
$fechaDesde=$fecha[2].'-'.$fecha[1].'-'.$fecha[0];
$f=explode('/', $_POST['fechaH']);
$fechaHasta=$f[2].'-'.$f[1].'-'.$f[0];
$consulta = "SELECT cota, titulo, nombre, isbn, id FROM tbTabla INNER JOIN area on area.idArea=libro.idArea";
$consulta.=" WHERE fechaIngreso>='".$fechaDesde."' AND fechaIngreso <='".$fechaHasta."' ORDER BY idLibro DESC LIMIT $inicio, $filasxpagina";
}
else{
$consulta = "SELECT cota, titulo, nombre, isbn, id FROM libro INNER JOIN area on area.idArea=libro.idArea ORDER BY idLibro DESC LIMIT $inicio, $filasxpagina";
}
}
$result = $conexion->query($consulta);
$encabezados = $result->fetch_fields();
while ( $fila = $result->fetch_array() ) {
$respuesta->datos .= "<tr>";
for($x = 0; $x<count($encabezados); $x++){
$respuesta->datos .=" <td>".$fila[$x]."</td>";
}
$respuesta->datos .= "</tr>";
}
$mitadinicio = floor(($paginasamostrar-1)/2);
$mitadfin = ceil(($paginasamostrar-1)/2);
$inicio = $pagina - $mitadinicio;
if($inicio <= 0) {
$inicio = 1;
}
$limitepagina = $pagina + $mitadfin;
if(($limitepagina - $inicio) != ($paginasamostrar-1)) {
$limitepagina = $inicio + ($paginasamostrar-1);
}
if($limitepagina > $numpaginas) {
$inicio = $numpaginas - ($paginasamostrar-1);
$limitepagina = $numpaginas;
}
if($inicio <= 0) {
$inicio = 1;
}
$respuesta->paginacion.='<ul class="pagination pull-right">';
if($pagina > 1 && $numpaginas > $paginasamostrar){
$respuesta->paginacion .= '<li><a href="#" id="1" class="pagina">«</a></li>';
$respuesta->paginacion .= '<li><a href="#" id="'.($pagina + -1).'" class="pagina">‹</a></li>';
}
for($inicio; $inicio <= $limitepagina; $inicio++ ){
if($inicio == $pagina)
$respuesta->paginacion .= '<li class="active"><a href="#" id="'.$inicio.'" class="pagina actual">'.$inicio.'</a></li>';
else
$respuesta->paginacion .= '<li><a href="#" id="'.$inicio.'" class="pagina">'.$inicio.'</a></li>';
}
if($pagina < $numpaginas && $numpaginas > $paginasamostrar){
$respuesta->paginacion .= '<li><a href="#" id="'.($pagina + 1).'" class="pagina">›</a></li>';
$respuesta->paginacion .= '<li><a href="#" id="'.$numpaginas.'" class="pagina">»</a></li>';
}
$respuesta->paginacion.='</ul>';
$respuesta->estado = 1;
} else {
$respuesta->estado = 0;
$respuesta->mensaje = "No hay resultados";
}
}
Código:
como hago para que cuando se filtre en la páginación me enseñe solo la que es?, es decir, si es solo 1 aparezca uno y no dos //función para mostrar los datos en la busqueda especifica function mostrarDatos(fechaDesde,fechaHasta){ var numfilas=10; var paginasamostrar=8; var pagina=1; $.ajax({ cache:false, type:"POST", dataType:"json", url:'include/funciones/obtenerdatos.php', data: {fecha:fechaDesde,fechaH:fechaHasta,filasxpagina:numfilas,paginasamostrar:paginasamostrar,pagina:pagina}, success:function(respuesta){ if(respuesta.estado == 1){ $("#datos").html(respuesta.encabezados + respuesta.datos); $("#paginacion").html(respuesta.paginacion); } else $("#mensaje").html(respuesta.mensaje); }, error:function(){ alert('Error General del Sistema, Intente Más Tarde'); } }); }