Bom pessoal, tenho um um arquivo chamado paginacao.class.php, no qual monta todos registros do banco de dados
<?php
require "../validar_session.php";
require "trim_login_usuario.class.php";
// Dados para conexão mySQL
define ("host", "localhost");
define ("conta", "root");
define ("senha", "****");
define ("database", "my_db");
// Cria a classe para paginação
class Paginacao_Bonita {
// Variáveis de classe
var $rpp = 4; // Registros Por Página
var $nome_usuario_explode; ------------------> Coloco a variavel dentro da class, que recebo do arquivo trim_login_usuario.class.php porem, não consigo nenhum resultado com ela
var $pagina;
var $paginas;
var $limite;
var $dados = array();
public function __construct(){
//metodo de construção da classe
}
public function set_login_usuario($set_trim_login_usuario){
$this->nome_usuario_explode = $set_trim_login_usuario;
include "$this->$nome_usuario_explode";
}
// Construtor
function Paginacao_Bonita() {
mysql_pconnect (host, conta, senha);
mysql_select_db (database);
}
// Recebe a numeração de página enviada
function Recebe_Dados() {
// Obtêm dados em path da URL
$this->pagina = $_SERVER["PATH_INFO"];
// Separa as informações obtidas
$temp = explode ("/", $this->pagina);
// Armazena a página
$this->pagina = $temp[1];
}
// Verifica a página recebida
function Verifica_Pagina() {
// Verifica se não é numérica a página
if (!is_numeric ($this->pagina)) :
$this->pagina = 1;
endif;
}
// Obtêm o total de registros
function Total_Registros() {
// SQL de contagem
$sql = "SELECT COUNT(id) FROM tb_ticket WHERE login= '$this->nome_usuario_explode'";
// Executa o SQL de contagem
$sql = mysql_query ($sql);
// Obtêm os resultados em uma matriz
$sql = mysql_fetch_row ($sql);
// Armazena o número de registros
$this->paginas = $sql[0];
}
// Calcula o total de páginas
function Total_Paginas() {
$this->paginas = ceil ($this->paginas / $this->rpp);
}
// Calcula o limite para exibição
function Calcula_Limite() {
$this->limite = (($this->pagina - 1) * $this->rpp);
}
// Obtêm os dados do intervalo atual
function Seleciona_Dados() {
// SQL de seleção
$sql = "SELECT * FROM tb_ticket WHERE
login = '$this->nome_usuario_explode' ORDER BY id ASC LIMIT " . $this->limite . ", " . $this->rpp;
// Executa o SQL de contagem
$sql = mysql_query ($sql);
// Contador auxiliar
$i = 0;
// Armazena em uma matriz os resultados
while ($this->dados[$i] = mysql_fetch_assoc ($sql)) :
$i++;
endwhile;
// Elimina o último índice, pois está vazio
array_pop ($this->dados);
}
// Cria o HTML da paginação
function Mostra_Paginacao() {
// Anterior
$paginacao = (($this->pagina - 1) <= 0) ? "« Anterior" : "« <a href=\"". $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 1) . "/\">Anterior</a>";
// -3
$paginacao .= (($this->pagina - 3) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 3) . "/\">" . ($this->pagina - 3) ."</a>";
// -2
$paginacao .= (($this->pagina - 2) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 2) . "/\">" . ($this->pagina - 2) ."</a>";
// -1
$paginacao .= (($this->pagina - 1) <= 0) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina - 1) . "/\">" . ($this->pagina - 1) ."</a>";
// Atual
$paginacao .= " | <strong>[" . $this->pagina . "]</strong>";
// +1
$paginacao .= (($this->pagina + 1) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 1) . "/\">" . ($this->pagina + 1) ."</a>";
// +2
$paginacao .= (($this->pagina + 2) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 2) . "/\">" . ($this->pagina + 2) ."</a>";
// +3
$paginacao .= (($this->pagina + 3) > $this->paginas) ? "" : " | <a href=\"" . $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 3) . "/\">" . ($this->pagina + 3) ."</a>";
// Próximo
$paginacao .= (($this->pagina + 1) > $this->paginas) ? " | Próximo »" : " | <a href=\"". $_SERVER["SCRIPT_NAME"] . "/" . ($this->pagina + 1) . "/\">Próximo</a> »";
// Retorna a variável de paginação
echo $paginacao;
}
}
// Instancia a classe e executa suas rotinas
$foo = new Paginacao_Bonita();
$foo->Recebe_Dados();
$foo->Verifica_Pagina();
$foo->Total_Registros();
$foo->Total_Paginas();
$foo->Calcula_Limite();
$foo->Seleciona_Dados();
foreach ($foo->dados as $dados) :
//Faz chamada para a função que converte a data no formato americano para o PT-BR
require_once "data_abrir_chamado.class.php";
//Tratando a data com a função acima
$datetime = $dados["data_abrir_chamado"];
$conv_datetime = converte_datetime($datetime);
/*
echo $conv_datetime['data']; // Retornará 23/07/2004
echo $conv_datetime['horario']; // Retornará 09:15:20
echo $conv_datetime['dia']; // Retornará 23
echo $conv_datetime['mês']; // Retornará 07
echo $conv_datetime['ano']; // Retornará 2004
echo $conv_datetime['hora']; // Retornará 09
echo $conv_datetime['minuto']; // Retornará 15
echo $conv_datetime['segundo']; // Retornará 20
*/
//Tratando o campo "local" com o codigo abaixo
// Variavel $new_local recebendo o valor armazenado no banco de dados
$new_local = $dados["local"];
// Variavel data_inteira fazendo o explode separando pelo caracter '-'
$local_separar = explode('_',$new_local);
// Separando
$local_separar[0]." ".$local_separar[1];
//Montando Local com espaçamento
$local = ucfirst($local_separar[0])." ".strtoupper($local_separar[1]);
//Tratando o campo "prioridade" com o codigo abaixo
$new_prioridade = $dados["prioridade"];
$prioridade = ucfirst($new_prioridade);
//Tratando o campo "estado" com o codigo abaixo
// Variavel $new_estado recebendo o valor armazenado no banco de dados
$new_estado = $dados["estado"];
// Variavel data_inteira fazendo o explode separando pelo caracter '-'
$estado_separar = explode('_',$new_estado);
// Separando
$estado_separar[0]." ".$estado_separar[1];
//Montando Local com espaçamento
$estado = ucfirst($estado_separar[0])." ".ucfirst($estado_separar[1]);
//Tratando o campo "responsavel" com o codigo abaixo
// Variavel $new_responsavel recebendo o valor armazenado no banco de dados
$new_responsavel = $dados["responsavel"];
// Variavel responsavel_separar fazendo o explode separando pelo caracter '-'
$responsavel_separar = explode('_',$new_responsavel);
// Separando
$responsavel_separar[0]." ".$responsavel_separar[1];
//Montando Local com espaçamento
$responsavel = ucfirst($responsavel_separar[0])." ".ucfirst($responsavel_separar[1]);
?>
<div align="left" style="font: 70% verdana; border: 1px solid #CCCCCC; padding: 5px; margin: 5px; background-color: #F5F5F5;">
<table border="0" cellpadding="0" cellspacing="0">
ID:<strong><?php echo $dados["id"];?></strong><br />
Nome:<strong><?php echo $dados["nome"];?></strong><br />
Data:<strong><?php echo $conv_datetime['data_hora'];?></strong><br />
Texto:<strong><?php echo $dados["texto"];?></strong><br />
Local:<strong><?php echo $local;?></strong><br />
Prioridade:<strong><?php echo $prioridade;?></strong><br />
Estado:<strong><?php echo $estado;?></strong><br />
Responsavel:<strong><?php echo $responsavel;?></strong>
</table>
</div>
<?php
endforeach;
?>
<br /><div align="center" style="font: 70% verdana;">
<?php $foo->Mostra_Paginacao(); ?>
</div>
e o arquivo listar_chamados_aberto, onde se exibe o processo feito pela paginacao.class.php
<?php
require "config_nivel.php";
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();
// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['id_usuario']) OR ($_SESSION['nivel_usuario'] != $nivel_necessario)) {
// Destrói a sessão por segurança
session_destroy();
// Redireciona o visitante de volta pro login
header("Location: /helpdesk/index.php"); exit;
}
// inclui o arquivo de validar sessão
include "../validar_session.php";
// inclui o arquivo de configuração do sistema
include "../conexao.php";
//ATUALIZA PAGINA QUE O USUARIO ESTA ACESSANDO NO MOMENTO
$url = $_SERVER['PHP_SELF'];
$update_url = mysql_query("UPDATE tb_users SET url='$url' where nome='$nome_usuario'") or die(mysql_error());
// faz consulta no banco de dados
//$consulta = mysql_query("SELECT * FROM tb_ticket WHERE estado ='aberto' and nome='$nome_usuario' ORDER BY data_abrir_chamado DESC");
//width="872" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#336699"
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Chamados em Aberto - CERP Help Desk</title>
<link href="/helpdesk/style.css" rel="stylesheet" type="text/css" media="screen"/>
<link href="/helpdesk/style_print.css" rel="stylesheet" type="text/css" media="print">
<script type="text/javascript" src="/helpdesk/usuario/jquery/jquery.js"></script>
<script type="text/javascript" src="/helpdesk/usuario/jquery/jquery.dimensions.js"></script>
<script type="text/javascript" src="/helpdesk/usuario/jquery/jquery.positionBy.js"></script>
<script type="text/javascript" src="/helpdesk/usuario/jquery/jquery.bgiframe.js"></script>
<script type="text/javascript" src="/helpdesk/usuario/jquery/jquery.jdMenu.js"></script>
<link rel="stylesheet" href="/helpdesk/usuario/jquery/jquery.jdMenu.css" type="text/css"/>
</head>
<body>
<table style="font: 70% verdana; border: 1px solid #CCCCCC; padding: 5px; margin: 5px; background-color: #F5F5F5;">
<!--DWLayoutTable-->
<tr>
<td height="41" colspan="2" bgcolor="#336699"><div align="center"><span class="titulo">Chamados em Aberto</span></div></td>
</tr>
<tr>
<td width="872" valign="middle" bgcolor="#FFFFFF">
<div align="left" id="menu">
<ul bgcolor="#336699" class="jd_menu">
<li class=""><a href="/helpdesk/usuario/painel_controle.php">Abrir Chamado</a></li>
<li class="accessible"><a href="" class="accessible">Chamados »</a>
<ul>
<li><a href="#" target="_self">Em Aberto</a></li>
<li><a href="/helpdesk/usuario/listar_chamados_em_atendimento.php" target="_self">Em Atendimento</a></li>
<li><a href="/helpdesk/usuario/listar_chamados_finalizados.php" target="_self">Finalizados</a></li>
</ul>
</li>
<li class="accessible"><a href="" class="accessible">Relatórios »</a>
<ul>
<li><a href="/helpdesk/usuario/relatorio_data.php" target="_self">Por Data</a></li>
</ul>
</li>
<li class=""><a href="/helpdesk/usuario/mudar_senha.php">Alterar Senha</a></li>
<li class=""><a href="/helpdesk/logout.php">Sair</a></li>
</ul>
</div></td>
</tr>
</table>
<?php
//Faz chamada com a função para sistema de paginação
require "data_abrir_chamado.class.php";
require "paginacao.class.php";
?>
</body>
</html>
e tambem tem a pagina trim_login_usuario.class.php, que elimina os espacamentos na string
<?php
include "../validar_session.php";
include "../conexao.php";
$new = $login;
$nome_usuario_clear = array("nome" => $new);
//RESPONSAVEL PELA LIMPEZA DE ESPAÇOS EM BRANCO NAS EXTREMIDADES DA STRING
function _trim(&$value)
{
$value = trim($value);
}
//COLOCA A STRING NO ARRAY E EXECUTA A FUNÇÃO _TRIM ESCRITA ACIMA
function array_trim($arr)
{
array_walk($arr,"_trim");
return $arr;
}
$arr = array_trim($nome_usuario_clear);
$nome_without_space = $arr['nome'];
$user_explode = explode(' ',$nome_without_space);
$nome_usuario_explode = strtolower($user_explode[0])."_".strtolower($user_explode[1]);
echo '<br>';
?>
o que acontece e que eu não consigo definir a variavel dentro da class, quando dou um echo fora da class, consigo ver o a variavel, porem dentro da class, ela fica sem nenhum valor.
Pergunta
Júlio César Lacerda
Bom pessoal, tenho um um arquivo chamado paginacao.class.php, no qual monta todos registros do banco de dados
e o arquivo listar_chamados_aberto, onde se exibe o processo feito pela paginacao.class.php e tambem tem a pagina trim_login_usuario.class.php, que elimina os espacamentos na stringo que acontece e que eu não consigo definir a variavel dentro da class, quando dou um echo fora da class, consigo ver o a variavel, porem dentro da class, ela fica sem nenhum valor.
alguém sabe me explicar porque isto ocorre?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.