Todos sabemos que é muito simples e interessante usar php+mysql para exibir todas as informações do banco de dados em uma página web. Quando as informações do banco de dados são muito pequenas, a exibição da página ainda é satisfatória, mas quando há muitas informações do banco de dados, a exibição da página A situação ficará muito ruim. Vamos apresentar como exibir o número de dados na página atual e como implementar a função de inversão dinâmica.
Aqui apresentaremos a implementação de duas funções de exibição de inversão de página:
-------------------------------------------------- ----------
Deixe-me primeiro apresentar a sintaxe do banco de dados usada na virada de página:
mysql_query("select * from table order by id desc");
Esta instrução de banco de dados é muito familiar. Ela é usada para pesquisar registros e exibi-los em ordem inversa, mas não pode. Ele desempenha um papel na função de virada de página, e a seguinte sintaxe expandida é a função central da virada de página:
mysql_query
("select * from table order by id desc limit $start,$limit");
A linha inicial da pesquisa, $limit, é pesquisar da linha inicial até o final dos registros $limit. Bem, com esta função principal, podemos iniciar a função de virar a página;
-------------------------------------------------- ----------
A primeira função de virar página:
de
notícias e download deste site é esta.
função de virar página.
Primeiro determine o número de registros de dados que são exibidos fixamente na página atual. Suponha que haja 20 registros. Defina o valor de $limit como 20: $limit=20
; então defina $start aqui. O valor inicial de é 0: $start=0
e a realização da função de virar a página depende da mudança dinâmica de $start. Ao virar a página para trás, $start adiciona regularmente $limit: $start+. $limit; e ao avançar a página $start então subtrai $limit regularmente: $start-$limit;
com as ideias acima, você pode começar a projetar o programa page.php:
<?
//Define o número exibido na página atual (este número pode ser definido arbitrariamente)
$limit=20;
//Inicializa o registro inicial da pesquisa no banco de dados
if (!empty($start)) $start=0
;
mysql_select_db(database);
//Define o número total de registros do banco de dados;
$resultado=mysql_query("selecione * da tabela");
$num_max=mysql_numrows($result);
$result=mysql_query("selecione * na ordem da tabela por id desc limit $start,$limit);
$num=mysql_numrows($result);
echo
"<table><tr><td>Função de virada de página</td></tr>";
for ($i=0;$i<$num;$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>";
//Definir o avanço da página
$prve=$start-$limit;
if ($prve>=0) {
echo "<a href=page.php?start=$prve>prve</a>";
}
//Configura o salto para a página anterior
$próximo=$início+$limite;
if ($próximo<$num_max) {
echo "<a href=page.php?start=$next>próximo</a>";
}
echo "</td></tr></table>";
?>
Um programa com funções de avanço e retrocesso foi concluído. No entanto, esta função será muito complicada ao processar mais dados para exibição. sempre o chamei assim, porque não consigo encontrar um nome mais apropriado).:)
A função simples de virar páginas foi introduzida anteriormente. A função de virar páginas apresentada abaixo é mais poderosa e complexa. O fórum é muito especial sobre isso. site O artigo usa esta função de virar página em loop.
A virada cíclica de página é realizada girando para frente e para trás junto com números. A expressão específica é:
page: prve <<1 2 3 4 ....... 20 >>
Os números a seguir representam cada página atual. e os saltos para trás não são mais apenas giros para frente e para trás da página atual, mas giros para frente e para trás controlados digitalmente mais complexos.
Como sempre, antes de prosseguir com o design do programa, esclareça suas idéias primeiro. função de virar as páginas em loop, você mesmo pode praticá-la, porque alguns dos métodos e ideias estudados aqui podem ser relativamente abstratos.
Primeiro, assumimos com ousadia que existem mais de 1.000 registros no banco de dados. exibido atualmente e o número O controle de inversão é 20, portanto, há o seguinte resultado de exibição:
página: 0 1 2 3 ......... 19 >> próximo
resultado de exibição após a inversão:
página: prve <<20 27 28 ... .... 49 >> nextOk
, vamos dar uma olhada nas regras Um número de exibição fixo é 25, e um número fixo controla a duplicação de 20. Podemos usar esses dois números para implementar a virada de página. função;
primeiro conjunto Variáveis exibidas fixas:
$limite=20;
Configurações de variáveis iniciais do banco de dados:
$início=0;
O número total de registros do banco de dados é: $num;
Variável de número de página: $page;
O programa para uma exibição de loop de número de página é o seguinte:
<?
...
$resultado=mysql_query("selecione * da tabela");
$num=mysql_numrows($resultado);
for ($página=0;$página<($num/$limit);$página++) {
eco $página;
if ($página>0 && ($página%20)==0) {
break; //Sai do loop
}
}
?>
Exceto para exibir números, este código não implementa nenhuma outra função Como há mais números para controlar a inversão, diversas variáveis devem ser usadas para marcar e identificar essas quantidades de controle. $s é usado para marcá-las aqui; usado Para controlar o controle de virada de página digital, agora você pode ver o código completo page.php que implementa o ciclo de virada de página:
<?
$limite=25;
if (!empty($start)) $start=0;
if (!empty($s)) $s=0
;
mysql_select_db(database);
//Número total estatístico de registros do banco de dados
$resultado=mysql_query("selecione * da tabela");
$num=mysql_numrows($result);
$result=mysql_query("selecione * na ordem da tabela por id limite $start,$limit");
$numb=mysql_numrows($resultado);
echo "<tabela>";
if (!empty($numb)) {
for($i=0;$i<$numb;$i++) {
$val=mysql_result($resultado,$i,"val");
$val1=mysql_result($resultado,$i,"val1");
echo "<tr><td>$val</td><td>$val1</td></tr>";
}
}
echo "</table>"
//Controle de virada de página digital
echo "<tabela>";
echo "<tr><td>Página:</td>";
//Flip forward control
se ($s>20) {
se ($s==21) {
$st=$s-21;
} outro {
$st=$s-20;
}
$pstart=$st*$limite;
echo "<td><a href=page.php?";
echo "start=$pstart&s=$st>prve</a></td>";
}
echo "<td> >></td>"
//Definir o número de páginas correspondentes à página atual sem função de link
$star=$start;
//Preste atenção ao valor inicial do loop e pense cuidadosamente sobre por que ele não é 0
for ($page=$s;$page<($num/$limit);$page++) {
$start=$page*$limit;
echo "<td>";
if($página!=$estrela/$limit) {
echo "<a href=página.php?";
echo "iniciar=$iniciar&s=$s>";
}
echo $página;
if($página!=$estrela/$limit) {
eco "</a>";
}
echo "</td>";
//Controle a função de exibição do limite de páginas digitais, controle para exibir apenas 20 páginas
if ($página>0 && ($página%20)==0) {
se ($s==0) {
$s=$s+21;
} outro {
$s=$s+20;
}
$start=$start+$limit
if ((($num/$limit)-1)>$page) {
echo "<td> <<</td><td><a href'page.php?";
echo "start=$start&s=$s>próximo</a></td>";
}
//Preste atenção ao controle de saltar fora do loop
quebrar;
}
}
echo "</tr></table>";
?>
O programa acima pode completar uma poderosa função de virada de página.
Há também uma função de virada de página que é a virada de página, ou seja, adicionar envio de dados no formulário de envio e, em seguida, o programa salta para a página correspondente. é relativamente fácil de implementar. É simples, deixarei que os próprios leitores o concluam e não o apresentarei aqui...