Foros del Web » Programando para Internet » PHP »

Paginador

Estas en el tema de Paginador en el foro de PHP en Foros del Web. Wenas tengo una pregunta en el paginador: En la explicacion que viene te dice q hace un count de los registros q van a salir, ...
  #1 (permalink)  
Antiguo 21/07/2005, 02:32
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
Paginador

Wenas tengo una pregunta en el paginador:

En la explicacion que viene te dice q hace un count de los registros q van a salir, pero el problema es k q no kiero q muestre todos sino q muestre unos q pase con la clausula where.¿como se puede hacer?

Código PHP:
<?php


# Funcion para conectar a la base de datos
function conectar($host,$user,$pass,$db){
$link = @mysql_connect($host,$user,$pass) or die("Error Conectando a la Base de datos");
@mysql_select_db($db,$link) or die("Error Seleccionando base de datos.");
return $link;
}

$host = "localhost";
$user = "root";
$pass = "";
$db = "directorio";

# Se crea la variable $link que es para identificar la coneccion
# a la base de datos
$link = conectar($host,$user,$pass,$db);

# aqui colocan la tabla que se utilizara para
# extraer los registros y paginarlos
$tabla = "licencias";

# aqui se extrae la cantidad de registros totales
$rsC = mysql_query("Select count(*) from ".$tabla);
$resultC = mysql_fetch_array($rsC);
$count = $resultC[0];

# Aqui se pone la cantidad de registros por pagina
# que se quieren mostrar
$hasta = 2;

if($pag==""){
$desde = 0;
$pag = 1;
}
else{
$pag = $_GET["pag"];
$pagS = $pag - 1;
$desde = $hasta * $pagS;
}

$rs = mysql_query("select * from ".$tabla." limit $desde,$hasta");
if($count!=0){
while($result=mysql_fetch_array($rs)){
# Aqui colocan su tabla html y sus datos a mostrar
# solo se usa el array $result[""] y entre comillas
# el nombre de la celda a mostrar.
echo $result["licencia"]."<br>\n";
# fin del despliegue personalizado.
}
}
else{
echo "No tenemos registros.";
}
mysql_close($link);

# aqui se llama a la funcion que muestra los links por paginas
# la variable $extra_variables es para anexar mas variables al url
# si es necesario para los querys que hagan.
# Solo se debe concatenar los datos nombre1=valor1&nombre2=value2
# NOTA: puede ubicar en cualquier parte de su codigo esta funcion
# para que aparesca dentro de la celda que desee.
# link totales es una variable al ser definida le dices a la funcion
# cuantos links quieres que aparescan por pantalla ya que si tienes
# 100 paginas no deberas ver los 100 links y solo muestres los necesarios
$link_totales = 4;
# se llama la funcion paginar
# los links si tiene un css podran tomar la estructura y color que le pongas
## Inicia Paginador
paginar($count,$hasta,$pag,$link_totales,$extra_va riables);

# Funcion paginar
# Inicia
function paginar($count,$hasta,$pag,$link_totales,$extra_va riables){
if($link_totales==1)$link_totales=2;
$links = $count / $hasta;
$arriba = $link_totales - 2;
$abajo = $pag - 1;
if($abajo==0)$abajo = 1;
$temp_r = $links - $pag;
if($temp_r>=$arriba){
$link_break = $pag + $arriba;
}
else{
$link_break = $links;
$abajo = $pag + 1 - $arriba;
if($pag==$links-1)$abajo = $pag - $arriba;
if($pag==$links)$abajo = $pag - 1 - $arriba;
}

if($pag==1)$link_break = $link_totales;
if($abajo==0)$abajo=1;
if(strlen($extra_variables)!=0) $extra_variables = "&".$extra_variables;

if($pag==1){
$anterior = 1;
}
else{
$anterior = $pag - 1;
}
if($pag!=1){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$anterior.$extra_variables."><< Anterior | </a>";
}

for($i=$abajo;$i<=$links;$i++){
if($link_break<$i){
break;
}
else{
if($pag==$i){
echo $i." | ";
}
else{
echo "<a href='".$_SERVER['PHP_SELF']."?pag=".$i.$extra_variables."'>";
echo $i;
echo " | </a>";
}
}
}
if($pag==$links){
$siguiente = $links;
}
else{
$siguiente = $pag + 1;
}
if($pag!=$links){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$siguiente.$extra_variables.">Siguient e >></a>";
}
}
?>


Es importante saber que en esta parte del codigo:

Código PHP:
while($result=mysql_fetch_array($rs)){
# Aqui colocan su tabla html y sus datos a mostrar
# solo se usa el array $result[""] y entre comillas
# el nombre de la celda a mostrar.
echo $result["licencia"]."<br>\n";
# fin del despliegue personalizado.
}


dentro del while se coloca el html que usted estructuren para mostrar las noticias bien elegantes a los usuarios y si quien mostrar el titulo en una parte del html solo deben poner en la parte html donde parecera el titulo esta variable:
$result["titulo"] tomando en cuenta que titulo se llama su campo.

NOTA: vean que aparece esta linea asi:

Código HTML:
# se llama la funcion paginar
# los links si tiene un css podran tomar la estructura y color que le pongas
paginar($count,$hasta,$pag,$link_totales,$extra_va riables);

# Funcion paginar
function paginar($count,$hasta,$pag,$link_totales,$extra_va riables){
no se porque parece asi ya que no lo escribi asi pero solo deben cambiar el nombre de la variable $extra_va riables que esta separada y ponerla asi solo en estas lineas: $extra_variables
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 22:00.