terça-feira, 28 de outubro de 2014

Paginação no Codeigniter

//Controller

public function index(){

$this->load->library('pagination');
$config['base_url'] = 'http://localhost/www/cipadrao/usuario/index/';
$config['per_page'] = 5;
$config['num_links'] = 5;
$config['total_rows'] = $this->count();

$limit[0] = $config['per_page'];
$limit[1] = $this->uri->segment(3) ? $this->uri->segment(3) : 0;

$this->pagination->initialize($config);

//selecionando os dados
$this->data['usuarios'] = $this->usuario->findAll(null, null, $limit);
$this->data['pagination'] = $this->pagination->create_links();
//padronizando o caminho da página
$page = setPage($this->data['module'], 'lista');
//chamando a page pelo template
$this->template->view($page, $this->data);
}

//retorna a quantidade de registros da consulta
private function count($where=null){
$this->load->model('usuario_model');
return $this->usuario_model->count($where);
}

//View

<table border="1" width="100%">
<tr>
<td>Id</td>
<td>Nome</td>
<td>Email</td>
<td>Alterar</td>
<td>Excluir</td>
</tr>
<?php
if(count($usuarios)){
foreach($usuarios as $usuario){
$buffer = null;
$buffer .= '<tr>';
$buffer .= '<td>'.$usuario['usuario_id'].'</td>';
$buffer .= '<td>'.$usuario['usuario_nome'].'</td>';
$buffer .= '<td>'.$usuario['usuario_email'].'</td>';
$buffer .= '<td><a href="'.base_url('usuario/edit/'.$usuario['usuario_id']).'">Alterar</a></td>';
$buffer .= '<td><a href="'.base_url('usuario/delete/'.$usuario['usuario_id']).'">Excluir</a></td>';
$buffer .='</tr>';
echo $buffer;
}
}
else{
echo 'Nenhum registro encontrado.';
}
?>
</table>
<br/>
<div id="pagination"><?php echo $pagination; ?></div>

domingo, 26 de outubro de 2014

HighCharts com Ajax/Codeigniter - Parte02

<?php

class Vendas{

public function dadosGrafico(){

$categorias[] = 'Semana 1' ;
$categorias[] = 'Semana 2' ;
$categorias[] = 'Semana 3' ;
$categorias[] = 'Semana 4' ;

$series_data[] = array('name' => 'Primeiro Mês', 'data' => array(rand(1,5), rand(5,10), rand(10,15), rand(15,20)));
$series_data[] = array('name' => 'Segundo Mês', 'data' => array(rand(1,5), rand(5,10), rand(10,15)));

$dados = array( 'series_data' => $series_data, 'categories' => $categorias);

echo json_encode($dados);

}

}

?>

sexta-feira, 24 de outubro de 2014

HighCharts com Ajax/Codeigniter - Parte01

//Na página HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>

<div id="chartContainer" style="width:500px; height:500px;"></div>

//No arquivo JavaScript

//variaveis
var chart1;
var timeGrafico;

//chamando a função para atualizar o gráfico
$(function(){
     atualiza_chart();
});

//função para buscar os dados e atualizar as informações do gráfico
function atualiza_chart() {

        $.post(base_url+'vendas/dadosGrafico', {}, function(data) {
           
                var chart1 = new Highcharts.Chart({
                                chart: {
                                    renderTo: 'chartContainer',
                                    type: 'line',
                                },
                                title: {
                                    text: 'Titulo do Gráfico'
                                },
                                xAxis: {
                                    categories: data.categories
                                },
                                yAxis: {
                                    title: {
                                        text: 'Valores'
                                    }
                                },
                                series: data.series_data
            });
                                             
           //grafico se atualiza a cada 1minuto
           timeGrafico = setTimeout(function(){atualiza_chart()}, 60000 );

        }, 'json');

    }