Rogando por puntuaciones altas
Autor: Desconocido Actualizado el 17 de marzo de 2005
Todos sabemos que es muy simple e interesante usar php+mysql para mostrar toda la información de la base de datos en una página web. Cuando los datos de la base de datos son pequeños, la visualización de la página es satisfactoria, pero cuando los datos de la base de datos son grandes, la visualización de la página será muy deficiente. A continuación se describe cómo realizar la cantidad de visualización de datos de la página actual y cómo realizar la función dinámica de cambio de página.
Aquí presentaremos la implementación de dos funciones de visualización de paso de página:
-
Primero, presentaremos la sintaxis de la base de datos utilizada al pasar páginas: p>
MySQL _ query(" select * from table order by id desc ");
Esta declaración de base de datos es muy familiar. Se utiliza para buscar registros y mostrarlos en orden inverso, pero no puede pasar páginas. La siguiente sintaxis extendida es la función principal del cambio de página:
MySQL_query(" select * from table order by id desc limit $ start, $ limit ");
Aquí, $start es la fila inicial de la búsqueda en la base de datos, $limit es la búsqueda desde la fila inicial hasta el final de los registros $limit. Bien, con esta función principal, podemos iniciar la función de pasar página;
-
La primera función de pasar página:
Presentada aquí La función es la más simple entre las funciones de cambio de página, solo puede pasar páginas hacia adelante y hacia atrás. Esta es la función de pasar página del centro especial de noticias y descargas de este sitio.
Primero introduzca la idea de implementar la función de paso de página:
Primero determine el número de registros de datos que se muestran en la página actual, suponiendo 20 registros, establezca el valor de $limit to 20:$ limit = 20 ;
Al mostrar registros de la base de datos, deben comenzar desde la primera entrada, por lo que el valor inicial de $start aquí se establece en 0: $start = 0; p>
Implementación de la función de paso de página Depende de los cambios dinámicos de $start. Al pasar la página hacia atrás, $start se agregará a $ limit:$ start+$ limit; al pasar la página hacia adelante, $start se restará de $ limit:$ start-$ limit;
Con el Ideas anteriores, puede comenzar a diseñar el programa. page.php:
<?
//Establece el número que se muestra en la página actual (este número se puede configurar a voluntad)
$ límite = 20
//Inicializa la búsqueda en la base de datos y comenzar a grabar.
if (!empty($start))$start = 0;
mysql_connect("localhost","","");
mysql_select_db( Database);
//Establecer el número total de registros de la base de datos
$ result = MySQL _ query(" select * from table ");
$ num _ max = MySQL _ numrows($ resultado);
$ resultado = MySQL _ query(" seleccionar * del orden de la tabla por id desc límite $ inicio, $ límite);
$ num = MySQL _ numrows($ resultado);
Echo "& lt table& gt& lttr & gt& lttd & gt función de paso de página
if (! vacío ($num)) {< / p>
for($ I = 0; $ i & lt$ num$i++) {
$val=mysql_result($resultado, $i, " val "
);$ val 1 = MySQL _ resultado($ resultado, $i, " val 1 "
echo "& lttr & gt& lttd & gt$ val & lt/TD & gt; & lttd & gt$ val 1 & lt;/TD & gt;& lt/tr >;
}
}
echo" & lttr & gt& ltTD > ;;
//Establece el salto a la página hacia adelante.
$ prve = $ inicio-$ límite;
if($ prve>=0) {
echo" & lta href=page.php ? inicio = $ prve & gtprve & lt/a >;
}
//Establecer salto a la página anterior
$ next = $ start+$ limit;
if($ next & lt;$num_max) {
echo" & lta href=page.php? inicio = $siguiente>next</a>;
}
echo" </td></tr></table >;
& gt
El programa para las funciones de avance y retroceso se ha completado, pero esta función será muy engorrosa al procesar más visualización de datos, que continuaremos presentando a continuación. Una función de cambio de página más potente y compleja: cambio de página en bucle (. Siempre lo llamo así porque no puedo encontrar un nombre más adecuado):)
La función de cambio de página simple presentada anteriormente es más poderosa y compleja. utilizado en foros y artículos especiales de este sitio
La función de cambio de página utiliza números * * * para avanzar y luego retroceder. Para lograr esto, el rendimiento específico es el siguiente:
Página: prve
Los números en el interior representan la página actual. prve girada hacia adelante y la siguiente hacia atrás no son solo la dirección de la página actual. Hay controles digitales más complejos para avanzar y retroceder. /p>
Como siempre, antes de programar, sugiero que los lectores comprendan cómo realizar la función de paso de página y practiquen usted mismo, porque algunos de los métodos e ideas estudiados aquí pueden ser relativamente abstractos. >En primer lugar, asumimos audazmente que hay más de 1000 registros en la base de datos.
Actualmente queremos mostrar 25 registros y el control de inversión de números es 20, por lo que tenemos los siguientes resultados de visualización:
Número de página: 0 1 23...19 > >Entonces
Después El resultado se muestra después del salto mortal:
Página: prve
Bien, echemos un vistazo a las reglas. El número de visualización fijo es 25 y el número fijo controla la duplicación. 20. Podemos usar estos dos números para implementar la función de pasar página;
Primero, establezca la variable de visualización fija:
$ límite = 20
En la base de datos Inicial configuración de variables:
$ start = 0;
El número total de registros de la base de datos es: $ num
Variable de número de página: $ página
El programa de visualización del ciclo de páginas es el siguiente:
& lt?
...
$ resultado = MySQL _ query(" seleccionar * de la tabla ");
$ num = MySQL _ numrows($ resultado);
for($ página = 0; $ página & lt($ num/$ límite); $página++) {
echo $ página
if($ página & gt; 0 & amp& amp($page%20)==0) {
Salir del bucle
}
}< / p>
& gt
Este código no tiene otra función excepto mostrar números Debido a que hay muchos números que controlan el volteo, debe haber varias variables para marcar e identificar estas cantidades de control. Se utiliza aquí para marcar; esta variable se utiliza para controlar el control de paso de página del ciclo digital. Ahora puedes echar un vistazo a la página de códigos completa.php:
& lt?
$ límite = 25
Si (!empty($ inicio))$ inicio = 0;
Si (!empty($ s))$ s = 0;
mysql_connect("localhost ",""," ");
mysql_select_db(database);
//El número total de bases de datos estadísticas archivos.
$ resultado = MySQL _ numrows(" seleccionar * de la tabla ");
$ num = MySQL _ numrows($ resultado
$ resultado =); MySQL_query(" seleccionar * del orden de la tabla por límite de identificación $ inicio, $ límite ");
$ número = MySQL _ numrows($ resultado
Echo" & lt table>); ;"
if(!empty($número)){
for($I = 0;$i & lt$número;$i++) {
$val=mysql_result($resultado, $i, " val ");
$ val 1 = MySQL _ resultado($ resultado, $i, " val 1 "); >Eco" & lttr & gt& lttd & gt$ val & lt/TD & gt; & lttd & gt$ val 1 & lt;/TD & gt; & lt/tr >;
} p>
}
Echo" & lt/table >;
//Control de paso de página del ciclo digital
Echo" & lt table>;"
Echo"<tr><td>page:
//Control de giro hacia adelante
if($ s> 20) {
if ($s= =21) {
$ ST = $ s-21;
} En caso contrario {
$ ST = $ s-20; >}
$ pstart = $ st * $ límite
echo" & lttd & gt& lta href=page.php? ";
echo " inicio = $ pstart & amps = $ st & gtprve & lt/a & gt;
}
; Echo" & lttd & gt& gt& gt& lt/TD >;;
//Establece el número de páginas correspondientes a la página actual sin función de enlace.
$ star = $ start< / p>
//Presta atención al valor inicial del bucle y piensa detenidamente por qué no es 0.
for($ page = $ s; $ page & lt($ num/ $ límite); $página++ ) {
$ inicio = $ página * $ límite
echo "<TD>;;
if($página!=$ estrella/$límite) {
echo " & lta href=page.php?";
echo " start = $ start & amps=$s >>;
}
p>
echo $página
if($página!=$estrella/$límite) {
echo "& lt/ a >;;
}
Echo" & lt/TD >>;
//Controla la función de visualización de páginas digitales, solo se muestran 20 páginas.
if($ página & gt; 0 & amp& amp($página%20)==0) {
if ($s==0) {
$ s = $ s+21
} En caso contrario {
$ s = $ s+20
}
$ inicio = $ inicio+$ límite;
if ((($num/$límite)-1)>$página) {
Echo" & lttd & gt& lt& lt& lt/ td > >;;
}
//Presta atención al control de saltar fuera del bucle
Break;
}
}
Eco" & lt/tr & gt; & lt/table >;
& gt
El El programa anterior puede completar la potente función de paso de página.
Otra función de cambio de página es el cambio de página de envío, es decir, agregar envío de datos en el formulario de envío y luego el programa salta a la página correspondiente. Esta función es relativamente sencilla de implementar y se deja que los lectores la completen por sí mismos, por lo que no la presentaremos aquí. ...