Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Montei esse codigo para ele fazer a paginação dos meus dados porém, ele me mostra as páginas porém ele não mostra apenas as 13 informações que eu peço no código ele acaba me exibindo tudo em todas as páginas alguem pode me ajudar ?
<?php
$arquivos = glob('xml/*.xml');
$qtd = 13;
$atual = (isset($_GET['pg']))? intval($_GET['pg']):1;
$pagarquivo = array_chunk($arquivos,$qtd);
$contar = count($pagarquivo);
$result = $pagarquivo[$atual-1];
?>
<html>
<head>
<title>Paginando arquivos com php</title>
</head>
<body>
<?php
foreach(glob('xml/*.xml') as $xmlFile){
$xml = simplexml_load_file($xmlFile);
echo substr ($xml->NFe->infNFe->infAdic->infCpl,17,9).' - ';
echo $xml->NFe->infNFe->dest->xNome.'<br>';
}
echo'<hr/>';
for($i = 1;$i < $contar;$i++){
if($i==$atual){
printf('<a href="#">(%s)</a>',$i,$i);
}else{
printf('<a href="?pg=%s">%s</a>',$i,$i);
}
}
?>
</body>
</html>Olá,
A função array_chuck lhe devolve uma estrutura assim:
Array
(
[0] => Array
(
[0] => xml/teste.xml
[1] => xml/teste2.xml
[2] => xml/teste3.xml
)
)
Portanto o count não faz o que você precisa, tenta assim: $contar = count($pagarquivo[0]);>
foreach(glob('xml/*.xml') as $xmlFile){
Você está lendo todo do diretório neste foreach, por isto independente da página ele exibe tudo.
Certo mais como eu posso corrigir isso ?
>
Olá,
A função array_chuck lhe devolve uma estrutura assim:
Array
(
[0] => Array
(
[0] => xml/teste.xml
[1] => xml/teste2.xml
[2] => xml/teste3.xml
)
)Só alterou a paginação que ao envez de 70 paginas mostrou 12...
Olá,
Você quer pegar todos os xml's da pasta ou apenas 1?
>
Olá,
Você quer pegar todos os xml's da pasta ou apenas 1?
Todos...mais que que exiba apenas 12 por pagina.
Resolvido!
<?php
$arquivo = glob('xml/*.*');
$qtd = 12;
$atual = (isset($_GET['pg'])) ? intval($_GET['pg']):1;
$pagArquivo = array_chunk($arquivo,$qtd);
$contar = count($pagArquivo);
$resultado = $pagArquivo[$atual-1];
?>
<!DOCTYPE HTML>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
foreach($resultado as $xmlFile){
$xml = simplexml_load_file($xmlFile);
echo $xml->NFe->infNFe->dest->xNome.' - ';
echo substr ($xml->NFe->infNFe->infAdic->infCpl,17,9).'<br>';
}
echo'<hr />';
for($i = 1; $i < $contar; $i++){
if($i == $atual){
printf('<a href="#">( %s )</a>', $i);
}else{
printf('<a href="?pg=%s"> %s </a>', $i, $i);
}
}
?>
</body>
</html>
foreach(glob('xml/*.xml') as $xmlFile){
Você está lendo todo do diretório neste foreach, por isto independente da página ele exibe tudo.