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 la información de la base de datos es muy pequeña, la visualización de la página sigue siendo satisfactoria, pero cuando hay mucha información de la base de datos. la visualización de la página La situación se volverá muy mala. Introduzcamos cómo mostrar la cantidad de datos en la página actual y cómo implementar la función de cambio dinámico.
Aquí presentaremos la implementación de dos funciones de visualización de cambio de página:
-------------------------------------------------- ----------
Permítanme presentarles primero la sintaxis de la base de datos utilizada al pasar de página:
mysql_query("select * from table order by id desc");
Esta declaración de la base de datos es muy familiar. Se utiliza para buscar registros y mostrarlos en orden inverso. Desempeña un papel en la función de cambio de página, y la siguiente sintaxis expandida es la función principal del cambio de página:
mysql_query("select * from table order by id desc limit $start,$limit"donde $start es la base de datos The
);
La línea inicial de la búsqueda, $limit, es buscar desde la línea inicial hasta el final de los registros $limit. Bueno, con esta función principal, podemos iniciar la función de pasar página;
-------------------------------------------------- ----------
La primera función de paso de página:
de
página del centro especial de noticias y descargas de este sitio es esta.
Función de paso de página. Ideas:
Primero determine la cantidad de registros de datos que se muestran de forma fija en la página actual. Suponga que hay 20 registros. Establezca el valor de $limit en 20: $limit=20,
deben comenzar desde el primero. entonces establezca $start aquí. El valor inicial de es 0: $start=0;
y la realización de la función de cambio de página se basa en el cambio dinámico de $start. Al pasar la página hacia atrás, $start agrega regularmente $limit: $start+. $limit; y al pasar la página hacia adelante $start luego resta $limit regularmente: $start-$limit,
con las ideas anteriores, puedes 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 arbitrariamente)
$limit=20;
//Inicializar registro inicial de búsqueda en la base de datos
if (!empty($inicio)) $inicio=0
mysql_connect("localhost","","");
mysql_select_db(database);
//Establece el número total de registros de la base de datos
$resultado=mysql_query("seleccionar * de la tabla");
$num_max=mysql_numrows($resultado);
$resultado=mysql_query("seleccione * del orden de la tabla por id desc límite $inicio,$límite);
$num=mysql_numrows($resultado);
echo "<table><tr><td>Función de paso de página</td></tr>"
if (!empty($num)) {
para ($i=0;$i<$núm;$i++) {
$val=mysql_result($resultado,$i,"val");
$val1=mysql_result($resultado,$i,"val1");
echo "<tr><td>$val</td><td>$val1</td></tr>";
}
}
echo "<tr><td>";
//Establecer el salto de página hacia adelante
$prve=$inicio-$límite;
si ($prve>=0) {
echo "<a href=page.php?start=$prve>prve</a>";
}
//Establece el salto a la página hacia atrás
$siguiente=$inicio+$límite;
si ($siguiente<$num_max) {
echo "<a href=page.php?start=$siguiente>siguiente</a>";
}
eco "</td></tr></table>";
?>
Se ha completado un programa con funciones de cambio de página hacia adelante y hacia atrás, pero esta función será muy engorrosa al procesar más datos para mostrar. A continuación se presentará una función de cambio de página más potente y compleja: cambio de página (I. Siempre lo he llamado así porque no puedo encontrar un nombre más apropiado). :)
La función de cambio de página simple se introdujo anteriormente. La función de cambio de página que se presenta a continuación es más poderosa y compleja. El foro en sí y el foro muy especial en este tema. sitio El artículo utiliza esta función de paso de página en bucle.
El cambio de página cíclico se realiza avanzando y retrocediendo junto con números. La expresión específica es:
página: prve <<1 2 3 4 ....... 20 >>
Los números en el siguiente representan cada página actual. y los giros hacia atrás ya no son solo giros hacia adelante y hacia atrás de la página actual, sino giros hacia adelante y hacia atrás más complejos controlados digitalmente.
Como siempre, antes de continuar con el diseño del programa, primero aclare sus ideas. Recomiendo que los lectores lean cómo Después de darse cuenta de. Función de pasar páginas en un bucle, puede practicarla 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 se muestra, y el número El control de volteo es 20, por lo que se muestra el siguiente resultado:
página: 0 1 2 3 ......... 19 >> siguiente
resultado de visualización después de voltear:
página: prve <<20 27 28 ... .... 49 >> siguienteBien
, echemos un vistazo a las reglas. Un número de visualización fijo es 25 y un número fijo controla la duplicación de 20. Podemos usar estos dos números para implementar el cambio de página. función;
primer conjunto Variables mostradas fijas:
$límite=20;
Configuración de variables iniciales de la base de datos:
$inicio=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 para mostrar un bucle de número de página es el siguiente:
<?
...
$resultado=mysql_query("seleccionar * de la tabla");
$num=mysql_numrows($resultado);
para ($página=0;$página<($num/$límite);$página++) {
eco $página;
si ($página>0 && ($página%20)==0) {
romper; //Salir del ciclo
}
}
?>
Excepto para mostrar números, este código no implementa ninguna otra función. Debido a que hay más números para controlar el volteo, se deben usar varias variables para marcar e identificar estas cantidades de control. Aquí se usa $s para marcarlas; utilizado para controlar el control de paso de página digital, ahora puede ver el código completo page.php que implementa el ciclo de paso de página:
<?
$límite=25;
if (!empty($inicio)) $inicio=0;
if (!empty($s)) $s=0;
mysql_connect("localhost","","");
mysql_select_db(database);
//Número total estadístico de registros de la base de datos
$resultado=mysql_query("seleccionar * de la tabla");
$num=mysql_numrows($resultado);
$resultado=mysql_query("seleccione * del orden de la tabla por límite de identificación $inicio,$límite");
$entumecido=mysql_numrows($resultado);
eco "<tabla>";
si (!vacío($entumecido)) {
para($i=0;$i<$entumecido;$i++) {
$val=mysql_result($resultado,$i,"val");
$val1=mysql_result($resultado,$i,"val1");
echo "<tr><td>$val</td><td>$val1</td></tr>";
}
}
echo "</table>";
//Control del paso de página digital
eco "<tabla>";
echo "<tr><td>Página:</td>";
//Control de giro hacia adelante
si ($s>20) {
si ($s==21) {
$st=$s-21;
} demás {
$st=$s-20;
}
$pstart=$st*$límite;
echo "<td><a href=página.php?";
echo "start=$pstart&s=$st>prve</a></td>";
}
echo "<td> >></td>";
//Establece el número de páginas correspondientes a la página actual sin función de enlace
$star=$start;
//Presta atención al valor inicial del ciclo y piensa detenidamente por qué no es 0.
for ($página=$s;$página<($num/$límite);$página++) {
$inicio=$página*$límite;
echo "<td>";
if($página!=$estrella/$límite) {
echo "<a href=página.php?";
echo "inicio=$inicio&s=$s>";
}
echo $página
si($página!=$estrella/$límite) {
eco "</a>";
}
echo "</td>"
// Controla la función de visualización del límite de páginas digitales, controla para mostrar solo 20 páginas
si ($página>0 && ($página%20)==0) {
si ($s==0) {
$s=$s+21;
} demás {
$s=$s+20;
}
$inicio=$inicio+$límite
si ((($num/$límite)-1)>$página) {
echo "<td> <<</td><td><a href'page.php?";
echo "inicio=$inicio&s=$s>siguiente</a></td>";
}
//Presta atención al control de saltar fuera del bucle.
romper;
}
}
eco "</tr></table>";
?>
El programa anterior puede completar una poderosa función de cambio de página en bucle.
También hay una función de cambio de página que 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. Es relativamente fácil de implementar. Es simple, dejaré que los lectores lo completen ellos mismos y no lo presentaré aquí ...