Ir para conteúdo
ROGERIO MOREIRA

Numeração de página dentro de cabeçalho <hread> table

Recommended Posts

Olá feras

 

Alguém sabe se é possível criar numeração de página automática para relatórios dentro do cabeçalho <hread> de uma tabela?

 

ou alguma outra forma de criar cabeçalho para relatorios

Editado por ROGERIO MOREIRA
complementar pergunta

Compartilhar este post


Link para o post
Compartilhar em outros sites
<table>
  <thead>
    <tr>
        <th><input style=border:none id=pagina></th>
    </tr>
    <tr>
      <th>Month</th>
      <th>Savings</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>January</td>
      <td>$100</td>
    </tr>
    <tr>
      <td>February</td>
      <td>$80</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>Sum</td>
      <td>$180</td>
    </tr>
  </tfoot>
</table>
<script>
    pagina.value="Página 1"
    window.print()
</script>

Aqui estou só imprimindo uma página. Para imprimir várias, eu sugiro dar um id para cada tabela, bem como um id para cada input que vai escrever o número da página, e pedir para o JavaScript gerenciar, você pede para o JavaScript para imprimir as tabelas 12, 15 e 17, e o JavaScript vai numerar 1, 2 e 3 na hora de imprimir, supondo que todas as tabelas estejam na mesma página. Caso não estejam, a minha ideia é usar o PHP assim:

 

<?php
session_start();
$_SESSION['pagina']=$_SESSION['pagina']+1;
$pagina_atual="Página ".$_SESSION['pagina'];
echo "<input style=border:none value=$pagina_atual>";

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Frank, creio que essa solução irá solucionar meu problema, vou testar;

 

Só para exemplificar meu problema, eu consigo criar paginação com cabeçalho e numeração automática para relatórios com linhas fixas, onde dá para fazer a contagem de linhas, o problema começa quando os dados geram linhas irregulares, com tamanhos diferentes devido a quantidade de caracteres, daí não é possível fazer o controle de páginas pela quantidade de linhas.

 

Aí entra essa função <thead> que permite criar cabeçalhos automáticos para impressão, porém não permite gerar um comando php dentro do cabeçalho que permita gerar uma numeração automática.

 

Valeu brother!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola tudo bem?

 

tente algo assim

 


<?php
	//Configurações do Banco
	define('DB_HOSTNAME', 'localhost');
	define('DB_USERNAME', 'root');
	define('DB_PASSWORD', '');
	define('DB_DATABASE', 'tbl');
	define('DB_PREFIX'	, '');
	define('DB_CHARSET'	, 'utf8');


	//Abre Conexão com Banco de Dados
	function DBConnect(){
		@$MySQLi = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die (mysqli_connect_error());
		mysqli_set_charset($MySQLi, DB_CHARSET) or die (mysqli_error($MySQLi));
		return $MySQLi;
	}
	//Fecha Conexão com Banco de Dados
	function DBClose($MySQLi){
		@mysqli_close($MySQLi) or die (mysqli_error($MySQLi));
	}
	//Protege Contra SQL Injection
	function DBEscape($dados){
		$MySQLi = DBConnect();
		if (!is_array($dados)) {
			$dados = mysqli_real_escape_string($MySQLi, $dados);
		} else {
			$arr = $dados;
			foreach ($arr as $key => $value) {
				$key = mysqli_real_escape_string($MySQLi, $key);
				$value = mysqli_real_escape_string($MySQLi, $value);
				$dados[$key] = $value;
			}
		}
		DBClose($MySQLi);
		return $dados;
	}

	//Conta Dados da Tabela
	function DBCount($tabela, $campos = '*', $parametros = null){
		if (DB_PREFIX != '') { $tabela = DB_PREFIX.'_'.$tabela; }
		$parametros = ($parametros) ? " {$parametros}" : null;
		$query = "SELECT {$campos} FROM {$tabela}{$parametros}";
		$sql = DBExecute($query);
		$Count = mysqli_num_rows($sql);
		return $Count;
	}
	//Ler Dados do Banco
	function DBRead($tabela, $campos = '*', $parametros = null){
		if (DB_PREFIX != '') { $tabela = DB_PREFIX.'_'.$tabela; }
		$parametros = ($parametros) ? " {$parametros}" : null;
		$query = "SELECT {$campos} FROM {$tabela}{$parametros}";
		$sql = DBExecute($query);
		if(!mysqli_num_rows($sql)) {
			return false;
		} else {
			while ($res = mysqli_fetch_assoc($sql)){
				$dados[] = $res;
			}
			return $dados;
		}
	}
	

	
	//Executa Querys Full DBExecute
	function DBExecute($query, $insertid = false){
		$MySQLi = DBConnect();
		$sql = @mysqli_query($MySQLi, $query) or die (mysqli_error($MySQLi));
		if ($insertid) {
			$sql = mysqli_insert_id($MySQLi);
		}
		DBClose($MySQLi);
		return $sql;
	}
	

	//Mensagem Após Execução
	function DBMsg($Query){
		if ($Query) {
			AbreAlerta('Procedimento realizado com sucesso!');
		} else {
			AbreAlerta('Ocorreu um erro, por favor verifique os campos inseridos!');
		}
	}



if(empty($_GET['pg'])) { 
$PagiBuscar =''; 
}else{ 
$PagiBuscar = $_GET['pg']; 
}
	
if(empty($_GET['pg'])) {
//$pg = '';	
}else{ 
$pg =$_GET['pg'];
if(!is_numeric($pg)) {
	
	echo '<script language= "JavaScript">
					location.href="./pagina.ph?pg='.$PagiBuscar.'";
		</script>';
}

}



if(isset($pg)){ $pg = $_GET['pg']; }else{ $pg = 1; }

$quantidade = 51; //Quantidade de item por pagina
$inicio = ($pg*$quantidade) - $quantidade;


$Query = DBRead('minha_tbl','*',"WHERE status='1' ORDER BY id ASC LIMIT {$inicio}, {$quantidade}");
$QueryNum = DBCount('minha_tbl','*',"WHERE status='1' ORDER BY id");

 ?> 


<table>
  <thead>
    <tr>
        <th><input style=border:none id=pagina></th>
    </tr>
    <tr>
      <th>Month</th>
      <th>Savings</th>
    </tr>
  </thead>
  <tbody>
<?php if (is_array($Query)) { foreach ($Query as $List) { extract($List); ?>
    <tr>
      <td><?= $mes; ?></td>
      <td><?= 'R$'.$valor; ?></td>
    </tr>
<?php }} ?>	
  </tbody>
</table>





<?php
$UrlPaginacaoBuscar = './pagina.ph?pg='.$PagiBuscar.'';
		if($QueryNum <=$quantidade){
			
		}else{
			$paginas = ceil($QueryNum/$quantidade);
			if($pg > $paginas){
				echo '<script language= "JavaScript">
					location.href="./pagina.ph?pg='.$PagiBuscar.'";
					</script>';}
			$links = 5;	//Numeração de páginas
			
			if(isset($i)){
				
			}else{
				$i = '1';
				}	
?>
                    <div class="pagination-center">

                      <ul class="pagination">
                        <li><a href="<?= $UrlPaginacaoBuscar; ?>"><i class="fa fa-angle-left"></i></a></li>
    <?php
		if(isset($_GET['pg'])){
			$num_pg = $_GET['pg'];	
		}
		
		for($i = $pg-$links; $i <= $pg-1; $i++){
			if($i<=0){
				
			}else{ 
	?> 
                        <li><a href="<?= $UrlPaginacaoBuscar; ?><?= $i;?>/"><?= $i;?></a></li>
<?php  }} ?>         
                		 <li class="active"><a href="<?= $UrlPaginacaoBuscar; ?><?= $pg;?>/"><?= $pg;?></a></li>

<?php
	for($i = $pg+1; $i <= $pg+$links; $i++){
		if($i>$paginas){
			
		}else{
?>
                        <li><a href="<?= $UrlPaginacaoBuscar; ?><?= $i;?>/"><?= $i;?></a></li>
<?php } } ?>
                        <li><a href="<?= $UrlPaginacaoBuscar; ?><?= $paginas;?>/"><i class="fa fa-angle-right"></i></a></li>
                      </ul>

                    </div>
<?php } ?>

Não testei apenas montei uma logica....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos,  saudações. 
       
      Primeiramente agradeço ao auxílio e ajuda que os amigos têm me dado. 
       
      Minha dúvida:
      - para emissão de nota fiscal eletrônica precisa de um CERTIFICADO e SENHA.
      Como ou onde consigo esses dois itens, para fazer teste de emissão de nota fiscal  ?
       
      Grato, 
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma pequena dúvida.
       
      Estou escrevendo um Sistema que tem vários Módulos.
       
      O módulo principal tem:
      Estoque | Compras | Expedição | Vendas

      Minha dúvida:
      como faço após Acessar o Módulo Principal e Escolher o Módulo que quero trabalhar,
      eu possa fechar o Módulo aberto por exemplo: Estoque, sem alterar o Módulo principal e outros se estiver aberto ?


      Grato,
       
      Cesar
    • Por douglas79
      Bom dia,

      Há alguns dias que venho instalar o apache, o php, mysql e o phpmyadmin manualmente e sem obter sucesso. Até consegui rodar o php, porém, quando vou baixar a úitima versão do MYSQL, não tem todos os pacotes nele instalados, inclusive no completo, só encontro o Router.
      Alguém pode me dizer o porquê que isso está ocorrendo?
      Desde já agradeço a ajuda de vocês, que será bem vinda!
      No aguardo!

      Uso a versão 8.3.9 do PHP
      Meu SO é o Windows 10 32 bits
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me perdoa em postar mais uma dúvida minha.

      Através de ajuda e orientação dos membros do Grupo, tenho conseguido resolver muitos problemas que tenho encontrado.
       
      Gostaria de saber dos amigos do grupo, se tem algum vídeo aula, orientando a Instalação das Biblioteca para Emissão de Nota Fiscal Eletrônica.
       
      Tenho feito várias busca e tenho encontrado a maioria das vezes tudo em LARAVEL.

      Sei que para instalar as Biblioteca, precisa do Composer, até aqui tudo bem.

      Minha dúvida: 
      após fazer o download da  sped-nfe  e  sped-da, essas biblioteca devem ser gravada em qual pasta ?  ----   na C:\  ou dentro da pasta do Sistema ?
      quando dou o comando: COMPOSER INSTALL esse comando já instala todas as bibliotecas, ou 1 por 1 ?

      Grato,
       
      Cesar
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.