Paginação adpatada a URL amigável
Olá, cavalheiros.
Mais uma vez, hoje, venho cá pedir uma mão para um problema meu e se puderem ajudar o meu problema é este:
Tenho um sistema de perfil onde cada perfil possui seus posts. Ou seja, entrei em um perfil, de cara, exibe a lista de posts do perfil em que eu estou visualizando. Entretanto, eu utilizo URL's amigáveis (script no fim do post) para o endereço dos perfis (a URL atualmente fica assim: /perfil/UserID/) e fica totalmente inviável eu adicionar as páginas dos posts desta maneira. Penso que uma saída é fazer AJAX, mas desconheço totalmente do assunto.
Em palavras mais resumidas - todos os scripts que eu vi/tentei fazer segue o padrão da querystring: index.php?pagina=1, e, como podem ver, é inviável para o meu caso, uma vez que os posts são relativos ao perfil do usuário que estou visualizando.
O que devo fazer? Ao postar a solução na teoria, dêem-me instruções para prosseguir, por favor.
Aqui está o meu .htaccess, se necessário:
RewriteRule ^perfil/([\d]*)$ index.php?pagina=perfil&uid=$1 [NC,QSA]
RewriteRule ^perfil/([0-9])/post/([0-9])$ index.php?pagina=posts&uid=$1&pid=$2 [NC]
RewriteRule ^perfil/(\wA-Z!@#$%¨&()-=+/.{}'"]*)$ errors/404
RewriteRule ^perfil$ index.php?pagina=perfil [NC]
A 2º linha é o post único referente ao perfil
E, aqui, a minha listagem de posts:
<?php while($PostDAO->data = $PostDAO->query->fetch( PDO::FETCH_ASSOC )): ?>
<div id="post-body">
<h1><a href="perfil/<?php echo $UserDAO->getUid(); ?>/post/<?php echo $PostDAO->getPostId(); ?>"><?php echo $PostDAO->getTitulo(); ?></a></h1>
<?php if(isset($_SESSION['uid']) && $_SESSION['uid'] == $_GET['uid'] ||
$AccountDAO->getPermissao() == 'Moderador'){ ?>
<a class="remover-post" href="index.php?pagina=remover-post&pid=<?php echo $PostDAO->getPostId(); ?>">
<img title="Remover" class="south" src="./images/perfil/posts/remove.jpg" alt="Remover post" />
</a>
<a class="modificar-post" href="#">
<img title="Modificar" class="south" src="./images/perfil/posts/edit.jpg" alt="Modificar post" />
</a>
<?php } ?>
<?php if(isset($_SESSION['uid']) && $_SESSION['uid'] != $UserDAO->getUid()): ?>
<a class="denunciar-post" href="#">
<img title="Denunciar" class="south" src="./images/perfil/posts/report.jpg" alt="Denunciar post" />
</a>
<?php endif; ?>
<a class="compartilhar-post" href="#">
<img title="Compartilhar" class="south" src="./images/perfil/posts/share.jpg" alt="Compartilhar post" />
</a>
<hr />
<div class="post-atual">
<p>
<?php echo $PostDAO->getConteudoPost(); ?>
</p>
</div>
<div class="novo-post">
<form method="post" action="index.php?pagina=modificar-post&pid=<?php echo $PostDAO->getPostId(); ?>">
<textarea name="postModificado"><?php echo $PostDAO->getConteudoPost(); ?></textarea>
<input type="submit" value="Enviar" />
<!--<a class="enviar-modificacao" href="index.php?pagina=modificar-post&pid=<?php echo $PostDAO->getPostId(); ?>">Salvar modificações</a> - -->
<small><a class="cancelar-modificacao" href="#">Cancelar modificação</a></small>
</form>
</div>
<?php if($PostDAO->getPostTags() <> ""){ ?>
<div class="tags">
Tags:
<?php
$var = $PostDAO->getPostTags();
$tags_array = explode(", ", $var);
$links = array_map(function($param) {
echo ' <a href="tag/'.$param.'" >'.$param.'</a>';
}, $tags_array);
?>
</div>
<?php } ?>
</div>
<hr class="set"/>
<?php endwhile; ?>
Desde já, sou grato.
Abraços!
Discussão (11)
Carregando comentários...