adicionar paginação

1. adicionar paginação

Marcelo
mmonster

(usa Outra)

Enviado em 02/05/2009 - 06:13h

ola eu estou com um sisteminha de noticias mas nao tem paginação,eu tentei colocar mas nao consegui,será que alguem poderia me ajudar???

o sisteminha é esse...

funcoes.php

<?php


// Funçao para conectar-se com o Banco de Dados. Retorno = O sucesso da operacao (V ou F)
function conectaBancoDados() {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

$resultado = false; // Retorno da Funçao (default = falso). Indica o sucesso da conexao.

// Tenta conectar-se ao Banco de Dados.
if (@mysql_connect($servidor, $usuarioBd, $senhaBd)) {
$resultado = true;
}

return $resultado;

} // Fim da funçao conectaBancoDados.

// Funcao para adicionar uma noticia ao Sistema. Retorno = nenhum
// Parâmetro 1 - A notícia que será adicionada.
// Parâmetro 2 - O link da notícia.
function adicionaNoticia($noticia, $imagem, $titulo) {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

// Tenta conectar-se ao Banco de Dados mostrando uma mensagem de erro caso contrário.
if(!conectaBancoDados()) {
print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
}
else {
// Comando que será executado no Banco de Dados.
$comandoSql = "INSERT INTO $tabela(data, noticia, titulo, imagem) VALUES(now(), '$noticia', '$titulo', '$imagem')";
// Executa o Comando no Banco de Dados mostrando uma mensagem de erro em caso de falha.
if (mysql_db_query($bancoDados, $comandoSql)) {
print("<center><strong>Notícia inserida com sucesso!</strong></center>");
}
else print("<center><strong>Notícia nao inserida!</strong></center>");
mysql_close(); // Nao obrigatoria, porém recomendado.
}

} // Fim da funçao adicionaNoticia.

// Funcao para apagar uma notícia. Retorno = nenhum.
// Parâmetro único - O id da notícia que será deletada.
function apagarNoticia($idNoticia) {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

// Tenta conectar-se ao Banco de Dados mostrando uma mensagem de erro caso contrário.
if(!conectaBancoDados()) {
print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
}
else {
// Comando que será executado no Banco de Dados.
$comandoSql = "DELETE FROM $tabela WHERE id = '$idNoticia'";
// Executa o Comando no Banco de Dados mostrando uma mensagem de erro em caso de falha.
if (mysql_db_query($bancoDados, $comandoSql)) {
print ("<center><strong>Notícia deletada com sucesso!</strong></center>");
}
else print("<center><strong>Notícia nao deletada!</strong></center>");
mysql_close();
}

} // Fim da funçao apagarNoticia.

// Funcao para mostrar as noticias cadastradas no sistema com opcao de exclusao. Versao administrativa.
function mostraNoticiasAdmin() {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

if (!conectaBancoDados()) {
print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
}
else {
// Comando que será executado no Banco de Dados.
$comandoSql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo FROM $tabela ORDER by data";
// Joga todos os dados da pesquisa para a variavel dados.
$dados = mysql_db_query($bancoDados, $comandoSql);
// Mostra todos as noticias do sistema mostrando uma mensagem de erro em caso de falha.
if ($dados) {
// Cria uma tabela com os resultados.
print("<table width = '50%' align = 'center' border = '1'>");
print("<tr><td><strong>DATA</strong></td><td><strong>NOTÍCIA</strong></td></tr>");
while ($linha = mysql_fetch_array($dados)) {
print("<tr><td>$linha[data_formatada]</td><td>$linha[titulo]</td><td><a href='admin.php?remover=1&id=$linha[id]'><strong>Remover</strong></a></td></tr>");
}
print("</table>");
}
else print("<center><strong>Erro na exibiçao das notícias!</strong></center>");
}

} // Fim da funçao mostraNoticiasAdmin.

// Funcao para mostrar as noticias cadastradas no sistema. Versao do usuário.
// Parâmetro Único - Quantidade de notícias que será exibida.
function mostraNoticias($quantidadeNoticias) {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

if (!conectaBancoDados()) {
print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
}
else {
// Comando que será executado no Banco de Dados.
$comandoSql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem FROM $tabela ORDER BY data_formatada DESC";
// Joga todos os dados da pesquisa para a variavel dados.
$dados = mysql_db_query($bancoDados, $comandoSql);
// Mostra todos as noticias do sistema mostrando uma mensagem de erro em caso de falha.
if ($dados) {
$i = 0; // Variável de controle da quantidade de notícias que será exibida
// Cria uma tabela com os resultados.
print("<table width = '100%' align = 'center' border = '0'>");
while (($linha = mysql_fetch_array($dados)) && ($i < $quantidadeNoticias)) {
// Formata a notícia para que apareçam apenas os 250 primeiros caracteres.
@$noticia_formatada = substr($linha[noticia], 0, 250)."...";
print("<tr><td colspan=' 2'><div align='left'><strong>$linha[data_formatada] - $linha[titulo]</strong></div></td></tr>");
print("<tr><td width='5%' valign='top'><div align='left'><img src='img_noticias/$linha[imagem]' alt='sem imagem' width='70' height='60'></div></td><td width='95%' valign='top'><div align='left'><a href='mostrar_noticia.php?id=$linha[id]'>$noticia_formatada</a></div></td></tr>");
print("<tr><td colspan=' 2'><div align='left'><hr></div></td></tr>");
$i++;
}
print("</table>");
}
else print("<center><strong>Erro na exibiçao das notícias!</strong></center>");
}

} // Fim da funçao mostraNoticias.

// Funçao para mostrar as notícias individualmente.
// Parâmetro único - O Id da notícia que será exibida.
function mostraNoticiaId($id) {

include("config.php"); // Inclui o arquivo de configuraçao do Banco de Dados.

if (!conectaBancoDados()) {
print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
}
else {
// Comando que será executado no Banco de Dados.
$comandoSql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem FROM $tabela WHERE id = '$id'";
// Joga todos os dados da pesquisa para a variavel dados.
$dados = mysql_db_query($bancoDados, $comandoSql);
// Mostra todos as noticias do sistema mostrando uma mensagem de erro em caso de falha.
if ($dados) {
// Cria uma tabela com a notícia.
print("<table width = '100%' align = 'center' border = '0'>");
$linha = mysql_fetch_array($dados);
print("<tr><td colspan=' 2'><div align='center'><strong>$linha[data_formatada] - $linha[titulo]</strong></div><br></td></tr>");
print("<tr><td colspan=' 2'><div align='center'><img src='img_noticias/$linha[imagem]' alt='sem imagem'></div><br></td></tr>");
print("<tr><td width='100%' valign='top'><div align='justify'>$linha[noticia]</div></td></tr>");
print("<tr><td colspan=' 2'><div align='left'><hr></div></td></tr>");
print("</table>");
}
else print("<center><strong>Erro na exibiçao da notícia!</strong></center>");
}

} // Fim da funçao mostraNoticiaId.

// Funçao para fazer o upload da imagem da notícia.
function uploadImagem() {

// Pega a imagem enviada através do formulário. Nome temporário e verdadeiro.
@$imagem_temp= $_FILES['imagem']['tmp_name'];
@$imagem_real= $_FILES['imagem']['name'];

// O Upload só é efetuado se a imagem for do tipo gif ou jpg.
if (($_FILES['imagem']['type'] == "image/jpeg") || ($_FILES['imagem']['type'] == "image/gif")) {
// Move a imagem para a pasta de imagens. Mostra mensagem de erro em caso de falha.
if (move_uploaded_file($imagem_temp, "img_noticias/$imagem_real")) {
print("<center><strong>Imagem enviada com sucesso!</strong></center>");
}
else print("<center><strong>Erro no upload!</strong></center>");
}
else print("<center><strong>A imagem não é do tipo jpg ou gif!</strong></center>");

} // Fim da funçao uploadImagem.

?>


noticia.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>:: Exemplo - WAM Sistema de Notícias ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
}
body {
background-color: #FFFFFF;
}
a {
font-size: 10px;
color: #000000;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: underline;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
-->
</style></head>

<body>
<?php
include("funcoes.php");
mostraNoticias(20); // Aqui você deve colocar o número de notícias que deverão ser exibidas.




?>
<p align="center"><strong>:: Anuncios :: </strong></p>
</body>
</html>

eu gostaria de exibir umas 5 por pagina.


  


2. Re: adicionar paginação

Júlio Ferreira de Souza Neto
juliofsn

(usa Fedora)

Enviado em 04/05/2009 - 12:18h

Vamos lá, não é tão difícil.
Para paginar você vai precisar mudar a consulta SQL, adicionando a keyword LIMIT no SQL, a sintaxe é a seguinte:

SELECT <colunas> FROM <tabela> <WHERE,ORDER BY,...> LIMIT offset, rowcount

offset é o registo a partir do qual você retorna os resultados e rowcount é quantos registros serão retornados. Você pode fazer uma lógica assim: offset = número da página * rowcount
Como você quer 5 registros por página, ficaria assim: <seu sql> LIMIT <página*5>, 5

o número da página você passaria através de um GET por um link que você colocaria na tabela (Anterior-Próximo ou algo do tipo)


3. Re: adicionar paginação

Marcelo
mmonster

(usa Outra)

Enviado em 06/05/2009 - 02:59h

valeu amigo vou tentar...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts