Arquivo

Arquivo de 12, dezembro, 2007

Paginação com PHP

12, dezembro, 2007 Sem comentários

Vou explicar
uma maneira simples e fácil de fazer uma paginação
no php usando banco mysql.

A consulta no mysql é
feita de forma que o LIMIT é quem define onde vai começar
e quantos registros eu quero a partir do momento que começou a
listar.

Ex: $sql= “Select * from Tabela LIMIT 4,10″;
No exemplo acima ele vai mostrar os resultados da 4 pagina definindo que
cada pagina tem 10 registros.

Bem isso é o básico agora vamos detalhar o codigo completo:

//Esta linha define que a variavel pagina pode vir
em GET ou POST que ele vai puxar de qualquer forma

$pagina = (empty($_POST['pagina']))?$_GET['pagina']:$_POST['pagina'];

//Aqui vai definir o total de registros que eu quero
por página e vai verificar se a variavel $pagina vinher vazia então
ele vai setar como valor=1 ou seja se não vinher nada ele define
a pagina padrão como 1.

$total = “20″; // número de registros
por página
if (
empty($pagina)) {
$pc = “1″;
} else {
$pc = $pagina;
}

//uma vez que sempre o php tem como pagina inical a 0 então vamos
dizer que $pagina é sempre igual o valor que recebeu menos 1

$inicio = $pc – 1;

// definindo a partir de que ponto começa
a consulta ou seja ele pega a pagina que recebeu e multiplica pelo total
de registros que foi limitado por página e assim saberá
a partir de onde começar a consulta

$inicio = $inicio * $total;

//Aqui ele faz a consulta com o limite de páginas
que a gente ja definiu acima e preste atenção no código
pois nele ta detalhando a partir de onde começa e quantos valores
quero exibir

$limite = mysql_query(“select * from Tabela
LIMIT $inicio,$total”)
or die (“Erro no SQL:” .mysql_error());

//Aqui vc vai saber o total de páginas para
caso queira fazer uma paginação com numeros tipow [1][2][3]
então vc vai precisar saber o total de paginas e isso e simples
vc so precisa saber quantos registros existem sem limitar por total e
dividi-los pelo total limite que vc definiu por página

$tr = mysql_query(“Select * from Tabela”);
$tr = mysql_num_rows($tr); //total de registros
$TotalPagina = $tr / $total;
$tp = floor($tp)
; //como nem sempre o valor
é exato e as vezes vem 3.7 ou 2.5 vamos arredonda-lo com a função
floor.

Bem
agora ja temos toda a consulta LIMITANDO registros por pagina e paginando-os
de acordo com o total de páginas, basta agora criar os botoes anterior
e próximo.


//Aqui ele vai definir que $anterior significa o
numero de paginas -1 e proxima o numero de paginas +1

$anterior = $pc -1;
$proximo = $pc +1;


//Então ele vai verificar se $pc for maior que 1 ele vai exibir
o botão próxima e se $pc for menor que ou igual ao total
de páginas ele mostra o botão anterior.

if
($pc>1) {
print (“<a href=’{$_SERVER['PHP_SELF']}?pagina=$anterior’>[Anterior]</a>”);
}
if ($pc<=$tp) {
print (“<a href=’{$_SERVER['PHP_SELF']}?pagina=$proximo’>[Proxima]</a>”);
}

//e para exibir o total de paginas vc vai usar a
função for, que não precisa nem eu explicar o seu
funcionamento pois ela propria se auto detalha, caso queira mais informações

http://php.net/for

for ($i = 0; $i <= $tp; $i++) {
$num = $i+1;
print(“<a href=’{$_SERVER['PHP_SELF']}?pagina=$num’>>[$num]</a>”);
}

Espero ter ajudado
a quem queria aprender paginação.

Categories: Php + Mysql Tags:

Windows Vista (rwindows veesta).

12, dezembro, 2007 Sem comentários

windows vista
Bom posso está atrasado ou coisa e tal mas há 5 dias atrás um cliente me pediu algumas orientações para comprar o Notebook mais atual e rápido assim como ele ressaltou e que tivesse um preço acessível. Bom vamos lá eu e Sr. X nos dirigimos a loja e olhamos todos os modelos e configurações, vimos alguns com preços ótimos, mas configurações razoáveis o que não seria interessante uma vez que o Sr. X queria trabalhar com AUTO CAD na máquina, de repente então BINGO! Achamos a máquina que ele queria:
Sony Vaio
Processador Core 2 Duo T7100(1,8Ghz)
Memória: 2gb
Hd: 120 GB
Tela: 14,1″
3 portas USB uma firewire e outras tranqueiras, design arrojado e colorido, em fim um notebook ótimo e lógico que ao ver está acessível realmente mas só ao bolso dele é claro, R$ 5.400,00 CONTO.
Com uma máquina dessas da pra imaginar arte mas não foi o que aconteceu, bem a começar ela veio com o Windows Vista Home Basic, mas o Sr. X me pediu que eu instalasse o Windows XP pois ele ainda não havia familiarizado com o vista tanto ao ponto de usa-lo tranqüilamente, e assim foi, tudo ocorreu bem quando no terceiro dia ele me procura e me trás um produto novo o WINDOWS VISTA ULTIMATE, segundo ele, leu em revistas que é o melhor e isso e aquilo e todas aquelas baboseiras o que chegou a convence-lo de comprar e então me trouxe o tal vista. Não dá para dizer de cara que todo upgrade melhora, e o difícil é encontrar um exemplo mais polêmico em 2007 que o windows vista.
Em exatamente 46minutos o vista estava instalado e pronto para usar depois mais 35 para instalar os aplicativos office e o autocad, e assim o Sr. X saiu feliz da vida, o que não demorou muito pois no outro dia me chegou com a máquina na maior lentidão do mundo la vai eu remover alguns aplicativos passar um anti virus aqui e um corretor de boot ali e tal e dei um jeitinho, no outro dia novamente veio ele reclamando que a máquina tava lenta então pedi para que ele usasse na minha frente o computador como ele usa em casa e acha lento então ele abriu o auto cad somente e quando tenta abrir o word leva 1minuto e 24 segundos, e isso não teve jeito mexi aqui corri ali e mexi aculá mas não adiantou o pc sempre ficava lento e olha que era uma ótima máquina.
Conclusão: Voltei ao velho XP e tudo foi resolvido e ele ficou novamente feliz da vida.
Sobre: O tio Bill ja distribuiu pelo mundo 88 MILHÕES de licenças do VISTA. A microsoft diz que está trabalhando em melhorias de perfomance, mas isso só deus sabe quando vai ser.
Dica: Não recomendo que instale o vista ainda se vc trabalha com aplicativos do tipo COREL DRAW, AUTO CAD, PINAACLE dentr outros programas pesados se vc ainda não tem uma super máquina, e que seja super máquina mesmo pq essa que eu tive a experiencia era uma ÓTIMA e o resultado não foi ótimo.