Olá pessoal, sou novo em php e estou com dificuldade em criar um sistema de paginação utilizando url amigável.
Queria um sistema parecido com esse:
meusite.com.br/categoria/pagina/2
meusite.com.br/categoria/pagina/15
Meu .htacces está assim:
Meu index.php:
E a página que eu quero colocar a paginação está assim:
Preciso terminar esse projeto o mais rápido possível.
Obrigado.
Queria um sistema parecido com esse:
meusite.com.br/categoria/pagina/2
meusite.com.br/categoria/pagina/15
Meu .htacces está assim:
Código:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ index.php?pagina=$1
Código PHP:
<?php
include_once("includes/header.php");
?>
<?php
mysql_connect('localhost','root','');
$db = mysql_select_db('residentdo');
?>
<?php
$url = (isset($_GET['pagina'])) ? $_GET['pagina'] : '';
$explode = explode('/', $url);
$paginas = array('contato','termosdeuso','noticias','programas','jogos','videos');
if (isset($explode[0]) && $explode[0] == ''){
include_once "home.php";
} elseif ($explode[0] != '' && $explode[1] != '') {
switch ($explode[0]) {
case 'noticias':
include_once "paginas/post_not.php";
break;
case 'programas':
include_once "paginas/post_prog.php";
break;
case 'jogos':
include_once "paginas/post_jog.php";
break;
case 'videos':
include_once "paginas/post_vid.php";
break;
}
} elseif($explode[0] != '') {
if (isset($explode[0]) && in_array($explode[0], $paginas)) {
include_once "paginas/".$explode[0].".php";
}}
Código PHP:
<?php
include_once("includes/lateral.php");
?>
<?php
mysql_connect('localhost','root','');
$db = mysql_select_db('residentdo');
?>
<?php
$Url = (isset($_GET['pagina'])) ? $_GET['pagina'] : '';
$separar = explode('/', $Url);
if(isset($separar[3])) {
$pg = (int)$separar[3];
}
else {
$pg = 1;
}
$maximo = 4;
$inicio = ($pg * $maximo) - $maximo;
?>
<div id="all">
<div id="corponoticias">
<span id="navbar"><pre><a href="index.php">Início</a> > Notícias</pre></span>
<h2 id="titulonot">Notícias</h2>
<?php
$seleciona = mysql_query("SELECT * FROM noticias ORDER BY id DESC LIMIT $inicio, $maximo");
$conta = mysql_num_rows($seleciona);
if ($conta <=0) {
echo "Não há nenhum dado no banco";
}else {
while($ln = mysql_fetch_array($seleciona)) {
$idPost = $ln['id'];
$titulo = $ln['titulo'];
$conteudo = $ln['texto'];
?>
<div id="postagem">
<h1 id="titulopost"><a href="?post_not=true&id=<?php echo $idPost; ?>"><?php echo $titulo ?></a></h1>
<p><?php echo limitar($conteudo, 600) ?>... <a id="vejamais" href="?post_not=true&id=<?php echo $idPost; ?>">Veja Mais</a></p>
</div>
<?php
}}
?>
<div class="paginacao">
<?php
$selSql = mysql_query("SELECT id FROM noticias");
$totalPosts = mysql_num_rows($selSql);
$pags = ceil($totalPosts/$maximo);
$links = 2;
echo "<a href=\"/noticias/pagina/1\">Primeira Página</a>";
for ($i = $pg - $links; $i <= $pg - 1; $i++) {
if($i <= 0){} else {
echo "<a href=\"/noticias/pagina/$i\">$i</a>";
}
}
echo $pg;
for($i = $pg + 1; $i <= $pg + $links; $i++){
if($i > $pags) {}
else{
echo "<a href=\"/noticias/pagina/$i\">$i</a>";
}
}
echo "<a href=\"/noticias/pagina/$pags\">Última Página</a>";
?>
</div>
</div>
</div>
Obrigado.
Comment