Question:
Date: 04-04-2018 12:33:02
(In Spanish)
Este es el código al inicio de la pagina de mostrarproductos.php
este es el paginador como se muestra en la misma pagina de mostrarproductos.php
Problema con el Paginador de mi tienda online (PHP y MySQL)[Unresolved]
Buenas tardes, tengo un problema con el paginador de mi tienda online. el problema radica en que cuando si estoy en la zona bogota me muestra los productos de esa zona maximo 10, entonces cuando le doy en siguiente pagina, me manda a otra zona medellin (a cualquier zona). Necesito que me lleve a la otra pagina de la misma zona. No se cual es el problema si me pueden ayudar gracias.Este es el código al inicio de la pagina de mostrarproductos.php
<?php session_start(); include("php/conexion.php"); if(isset($_GET['id_subcategoria'])){ // nuevo $registros0=mysqli_query($link,"select id_producto from productos where id_subcategoria='$_GET[id_subcategoria]'") or die ("Error al conectar con la tabla".mysqli_error($link)); } else{ // viejo // paginador primera parte $registros0=mysqli_query($link,"select id_producto from productos where id_zona='$_GET[id_zona]'") or die ("Error al conectar con la tabla".mysqli_error($link)); } $numero_total_registros=mysqli_num_rows($registros0); //podemos modifica $TAMANO_PAGINA = 10; $pagina = false; if (isset($_GET["pagina"])) $pagina = $_GET["pagina"]; if (!$pagina) { $inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $TAMANO_PAGINA; } $total_paginas = ceil($numero_total_registros / $TAMANO_PAGINA); /*$registros1=mysqli_query($link,"select * from productos order by nombre asc LIMIT ".$inicio."," .$TAMANO_PAGINA) or die ("Error al conectar con la tabla".mysql_error($link));*/ // fin paginador
este es el paginador como se muestra en la misma pagina de mostrarproductos.php
<nav> <ul class="pagination"> <?php // paginador segunda parte if ($total_paginas > 1) { if ($pagina != 1) ?> <li><a href="mostrarproductos.php?<?php if(isset($_GET['name'])){ ?>&name=<?php echo $_GET['name']; }?>&id_zona=<?php echo $_GET['id_zona']; if(isset($_GET['id_subcategoria'])) { ?>&id_subcategoria=<?php echo $_GET['id_subcategoria']; }?>&pagina=<?php echo ($pagina-1); ?>" aria-label="Previous"><span aria-hidden="true">«</span></a></li> <?php for ($i=1;$i<=$total_paginas;$i++) { if ($pagina == $i){ ?> <li><a href="#"><div class="color-pag"><?php echo $pagina; ?></div></a></li> <?php } else{ ?> <li><a href="mostrarproductos.php?<?php if(isset($_GET['name'])){ ?>&name=<?php echo $_GET['name']; }?>&id_zona=<?php echo $_GET['id_zona']; if(isset($_GET['id_subcategoria'])) { ?>&id_zona=<?php echo $_GET['id_subcategoria']; }?>&pagina=<?php echo $i; ?>" aria-label="Previous"><span aria-hidden="true"><?php echo $i; ?></span></a></li> <?php } } if ($pagina != $total_paginas){ ?> <li><a href="mostrarproductos.php?<?php if(isset($_GET['name'])){ ?>&name=<?php echo $_GET['name']; }?>&id_zona=<?php echo $_GET['id_zona']; if(isset($_GET['id_subcategoria'])) { ?>&id_subcategoria=<?php echo $_GET['id_subcategoria']; }?>&pagina=<?php echo ($pagina+1); ?>" aria-label="Next"><span aria-hidden="true">»</span></a></li> <?php } } cerrarconexion(); ?> </ul> </nav>Votes: 0 - Answers: 2 - Views: 9 Share on: Google Facebook Twitter LinkedIn Link
Answers:
-
Date: 04-04-2018 17:49:30 Hola,
Te doy un ejemplo simple del mismo, ya que te falta en tu consulta.
$tabla = "blog"; // Registros a mostrar en cada página $regVistos = 12; // Consulta que devuelve todos los registros $lista0 = mysqli_query($_construct, "SELECT id FROM ".$tabla); // Se cuentan los registros devueltos por la consulta SQL $lista0 $totalSql = mysqli_num_rows($lista0); // Páginas que van a aparecer, redondeando los decimales siempre hacia arriba $pagTotal = ceil($totalSql/$regVistos); // Se definen la página actual (desde el parámetro 'pag' de la URL) y las páginas anterior y siguiente if (!isset($_GET["num"])){ $pagActual = 1; }else{ $pagActual= $_GET["num"]; } $pagAnterior = $pagActual-1; $pagSiguiente = $pagActual+1; // Consulta SQL con la que se sacará el listado de registros $lista1 = mysqli_query($_construct, "SELECT id, title FROM ".$tabla." WHERE id='{$id}' ORDER BY id DESC LIMIT ".(($pagActual-1)*$regVistos).",".$regVistos)or die(mysqli_error($_construct)); // Bucle para generar el listado de registros while($fila = mysqli_fetch_assoc($lista1)) { // Aquí lo que se va a replicar } if ($pagAnterior>0){ if($pagAnterior === 1){ echo '<a class="link" href="blogs.php"> < anterior</a>'; }else{ echo '<a class="link" href="blogs.php?page='.$pagAnterior.'/">< Anterior</a>'; } } // Se saca el listado de páginas mediante un bucle $pgIntervalo = 5; // Páginas que aparecen antes y después de la actual $pgMaximo = ($pgIntervalo*2)+1; // Máximo de páginas en el listado $pg = $pagActual-$pgIntervalo; $i=0; while ($i<$pgMaximo) { if ($pg==$pagActual){ $strong=array('active','</strong>'); }else{ $strong=array('',''); } if ($pg>0 and $pg<=$pagTotal){ if($pg===1){ echo '<a class="link '.$strong[0].'" href="blogs.html">'.$pg.'</a>'; }else{ echo '<a class="link '.$strong[0].'" href="blogs.php?page='.$pg.'/">'.$pg.'</a>'; } $i++; } if ($pg>$pagTotal){ $i=$pgMaximo; } // Si la página que se va a mostrar se pasa de la cantidad de páginas definidas en $pagTotal se para la generación de elementos de lista $pg++; } // Si la página actual no es la última, se muestra el enlace a la página siguiente if($pagSiguiente<=$pagTotal){ echo '<a class="link" href="blogs.php?page'.$pagSiguiente.'/">Siguiente ></a>'; }
Espero te sirva.
Saludos
Equipo @QuéCódigo Votes: 0 - Link answer -
Date: 08-07-2019 18:59:42 <?php
//definimos la cantidad de registros a mostrar en la paginaci?n
define("reg",5);
-- CONEXION A LA BDD --
$pag = !isset($_GET['pag']);
if(empty($pag))
{
$pag = 1;
}
$primerregistro=(reg*$pag)-reg;
// Capturamos los valores de la busqueda
$situacion=(isset($_GET['situacion'])) ? $_GET['situacion']:"";
$centro=(isset($_GET['centro'])) ? $_GET['centro']:"";
// finalizamos las capturas de las busquedas
$query1 = "select * ";
$querycant = "select count(*) as cantidad ";
$query = "from BDD
where CONDICION ";
if(!empty($centro))
{
$query .= "&¢ro = '$centro' ";
}
if(!empty($situacion))
{
$query .= "&&$situacion like '%SI%' ";
}
$query .= "ORDER BY fechalta DESC ";
$query1 .=$query." LIMIT $primerregistro,".reg;
$querycant .=$query;
$res =mysql_query($query1,$link);
$res_cant =mysql_query($querycant,$link);
$v_cant =mysql_fetch_array($res_cant);
$paginas =ceil($v_cant['cantidad']/reg);
$urlGet ="situacion=$situacion";
?>
<div class="container-fluid" id="">
<div class="cl-mcont">
<div class="row">
<div class="col-sm-12 col-md-12">
<div class="block-flat">
<div class="header">
<h3>Listado de Cámaras con Selección de Defectos</h3>
</div>
<div class="content">
<form action='ppal.php' method="GET" class="form-horizontal" role="form">
<input type="hidden" name="opc" value="152">
<div class="form-group">
<div class="col-sm-4">
<input type="text" name="centro" id="centro" size="5" maxlength="5" class="form-control" autofocus="" placeholder="Ingrese el N° de Cámara" value="<?php echo $centro; ?>"/>
</div>
<div class="col-sm-4 col-md-4">
<select name="situacion" id="situacion" class="form-control">
<option value="" selected="selected" >Todas</option>
<option value="da_camozono" <?php if($situacion == "da_camozono") { echo "selected"; } ?>>Cámara con Ozono</option>
<option value="da_caminund" <?php if($situacion == "da_caminund") { echo "selected"; } ?>>Cámara Inundable</option>
</select>
</div>
<div class="col-sm-3 col-md-3">
<label> </label>
<button type="submit" class="btn btn-default">Buscar</button>
</div>
</div>
</div>
</form>
<?php
if(mysql_num_rows($res)>0)
{
?>
<!-- Comienza el encabezado del listado normalmente -->
<div class="table-responsive">
<table class="table-bordered">
<thead>
<tr>
<th style="width: 10%"><strong>ID</strong></th>
<th style="width: 15%"><strong>N° de Cámara</strong></th>
<th style="width: 25%"><strong>Fecha de Informado</strong></th>
<th style="width: 45%"></th>
<th style="width: 5%"><strong>Acción</strong></th>
</tr>
</thead>
<?php
$i=0;
while ($v=mysql_fetch_array($res))
{
if($v['situacion']=="ALTA")
{
$color="#ffebee";
}
elseif($v['situacion']=="MODI")
{
$color="#FFF8E1";
}
elseif($v['situacion']=="FINA")
{
$color="#E8F5E9";
}
?>
<tbody>
<tr class="odd gradeA" bgcolor="<?php echo $color;?>">
<td><?php echo $v['id'];?></td>
<td><?php echo $v['centro'];?></td>
<td><?php echo $v['fechalta'];?></td>
<td>
<?php
if($v['m2_aviso_tipo']=="SI")
{
echo "M2";
if($v['m2_aviso_numero']<>" ")
{
echo " - Aviso ".$v['m2_aviso_numero'];
}
if($v['m2_aviso_situacion']<>" ")
{
echo " - Situacion ".$v['m2_aviso_situacion'];
}
}
if($v['m3_aviso_tipo']=="SI")
{
echo " - M3";
if($v['m3_aviso_numero']<>" ")
{
echo " - Aviso ".$v['m3_aviso_numero'];
}
if($v['m3_aviso_situacion']<>" ")
{
echo " - Situacion ".$v['m3_aviso_situacion'];
}
}
if($v['m5_aviso_tipo']=="SI")
{
echo " - M5";
if($v['m5_aviso_numero']<>" ")
{
echo " - Aviso ".$v['m5_aviso_numero'];
}
if($v['m5_aviso_situacion']<>" ")
{
echo " - Situacion ".$v['m5_aviso_situacion'];
}
}
if($v['m7_aviso_tipo']=="SI")
{
echo " - M7";
if($v['m7_aviso_numero']<>" ")
{
echo " - Aviso ".$v['m7_aviso_numero'];
}
if($v['m7_aviso_situacion']<>" ")
{
echo " - Situacion ".$v['m7_aviso_situacion'];
}
}
if($v['m8_aviso_tipo']=="SI")
{
echo " - M8";
if($v['m8_aviso_numero']<>" ")
{
echo " - Aviso ".$v['m8_aviso_numero'];
}
if($v['m8_aviso_situacion']<>" ")
{
echo " - Situacion ".$v['m8_aviso_situacion'];
}
}
?>
</td>
<!-- </td> -->
<!-- boton de impresion -->
<td>
<a href="listdefcam_prn4.php?id=<?php echo $v['id'];?>" class="btn btn-info btn-sm" data-id="<?php echo $v['id'];?>">
<i class="fa fa-print"></i></a>
</td>
<!-- fin del boton -->
</tr>
</tbody>
<?php
$i++;
}
?>
</table>
<?php
}
else
{
?>
<div class="alert alert-warning">
<strong>SIN Información</strong>
</div>
<?php
}
?>
<!-- Paginacion -->
<div align="center">
<div class="col col-xs-8">
<?php
if($pag != 1)
{
echo "<a href='ppal.php?opc=XX&pag=".($pag-1)."&$urlGet'> Anterior </a> ";
}
for($i=1;$i<=$paginas;$i++)
{
if($i !=$pag)
{
echo "<a href='ppal.php?opc=XXX&pag=$i&$urlGet'>$i</a> ";
}
else
{
echo "<strong> $i </strong> ";
}
}
if($pag != $paginas)
{
echo "<a href='ppal.php?opc=XX&pag=".($pag+1)."&$urlGet'> Siguiente </a> ";
}
?>
</div>
</div>
<!-- Fin de la Paginacion -->
</div>
</div>
</div>
</div>
</div>
</div> Votes: 0 - Link answer
To actively participate in the community first must authenticate, enter the system.Sign In