Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonidas Pinheiro

[Resolvido] Erro com sistema de paginação

Recommended Posts

Ola pessoal, estou com um problema com o meu script de paginação, caso alguem possa me ajudar...

 

vertodos_duv.php (pagina onde são listados os topicos)

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/css.css" rel="stylesheet" type="text/css"/>
</head>
<div id="home_duv">
<div class="h1" align="left">::Perguntas Frequentes</div><br>
<?php

$id = $_GET['perguntas_respostas'];

	$numreg = 10;
	if (!isset($vertodos_duv)) {
		$vertodos_duv = 0;
	}
	$inicial = $vertodos_duv * $numreg;

	$resultado3 = mysql_query("SELECT ID, PERGUNTA, ID FROM duvidas ORDER BY ID DESC LIMIT $inicial, $numreg");
if(!$resultado3){
die("Erro na solicitação de query: " . mysql_error() . '<br>');
}

$sql_conta = mysql_query("SELECT * FROM duvidas");
$quantreg = mysql_num_rows($sql_conta);

if(mysql_num_rows($resultado3) == 0){
?>
<font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Atenção! Não há cadastro no banco de dados.</font><br>
<?php
} else {

while($row = mysql_fetch_array($resultado3)){
$id = $row['ID'];
$pergunta = $row['PERGUNTA'];
print('<p><a class="duvidas" href="index.php?pag=paginas/perguntas_respostas&perguntas_respostas=' . $id . '"><b></b>' . htmlentities($pergunta) . '</a></p><br>');}
}
?>
<br>
<div class="sub_h1" align="center">
<?php
include("paginacao.php");
 ?>
</div>
</div>
</html>

paginacao.php (onde é feito a paginação)

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/css.css" rel="stylesheet" type="text/css"/>
</head>
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline}
-->
</style>
<?php
	$quant_pg = ceil($quantreg/$numreg);
	$quant_pg++;
	
	if ( $vertodos_duv > 0) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv-1) ."class=pg><b>« anterior</b></a>";
	} else {
		echo "<font color=#CCCCCC>« anterior</font>";
	}
	
	for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {

		if ($vertodos_duv == ($i_pg-1)) {
			echo " <span class=pgoff>[$i_pg]</span> ";
		} else {
			$i_pg2 = $i_pg-1;
			echo " <a href=".$PHP_SELF."?pag=paginas/vertodos_duv=$i_pg2 class=pg><b>$i_pg</b></a> ";
		}
	}
	
	if (($vertodos_duv+2) < $quant_pg) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv+1)." class=pg><b>próximo »</b></a>";
	} else {
		echo "<font color=#CCCCCC>próximo »</font>";
	}
?>
</html>

ele efetua a busca, cria os link tudo certo, so que quando eu clico, não vai para a pagina, fica em uma pagina em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez o problema pode estar no seu HREF, ja que diz que da tudo certo so o link que nao.

 

Coloque " para separar o url, troque & para & e coloque a funcao urlencode Exemplo:

 

print('<p><a class="duvidas" href="index.php?pag=paginas/perguntas_respostas&perguntas_respostas='. $id. '"><b></b>'. htmlentities($pergunta). '</a></p><br>');

ficará:

 

echo "<p><a class=\"duvidas\" href=\"index.php?pag=".urlencode("paginas/perguntas_respostas&perguntas_respostas=".$id."")."\"><b></b>". htmlentities($pergunta). "</a></p><br>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que seja aqui que não seja ai que está dando o erro, o codigo que está criando a paginação é esse.

 

paginacao.php

 

<?php
	$quant_pg = ceil($quantreg/$numreg);
	$quant_pg++;
	
	if ( $vertodos_duv > 0) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv-1) ."class=pg><b>« anterior</b></a>";
	} else {
		echo "<font color=#CCCCCC>« anterior</font>";
	}
	
	for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {

		if ($vertodos_duv == ($i_pg-1)) {
			echo " <span class=pgoff>[$i_pg]</span> ";
		} else {
			$i_pg2 = $i_pg-1;
			echo " <a href=".$PHP_SELF."?pag=paginas/vertodos_duv=$i_pg2 class=pg><b>$i_pg</b></a> ";
		}
	}
	
	if (($vertodos_duv+2) < $quant_pg) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv+1)." class=pg><b>próximo »</b></a>";
	} else {
		echo "<font color=#CCCCCC>próximo »</font>";
	}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pagina que lista os topicos

 

vertodos_duv.php

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/css.css" rel="stylesheet" type="text/css"/>
</head>
<div id="home_duv">
<div class="h1" align="left">::Perguntas Frequentes</div><br>
<?php

$id = $_GET['perguntas_respostas'];

	$numreg = 10;
	if (!isset($vertodos_duv)) {
		$vertodos_duv = 0;
	}
	$inicial = $vertodos_duv * $numreg;

	$resultado3 = mysql_query("SELECT ID, PERGUNTA, ID FROM duvidas ORDER BY ID DESC LIMIT $inicial, $numreg");
if(!$resultado3){
die("Erro na solicitação de query: " . mysql_error() . '<br>');
}

$sql_conta = mysql_query("SELECT * FROM duvidas");
$quantreg = mysql_num_rows($sql_conta);

if(mysql_num_rows($resultado3) == 0){
?>
<font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Atenção! Não há cadastro no banco de dados.</font><br>
<?php
} else {

while($row = mysql_fetch_array($resultado3)){
$id = $row['ID'];
$pergunta = $row['PERGUNTA'];
print('<p><a class="duvidas" href="index.php?pag=paginas/perguntas_respostas&perguntas_respostas=' . $id . '"><b></b>' . htmlentities($pergunta) . '</a></p><br>');}
}
?>
<br>
<div class="sub_h1" align="center">
<?php
include("paginacao.php");
 ?>
</div>
</div>
</html>

 

paginacao.php Essa é a pagina que cria a paginação

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/css.css" rel="stylesheet" type="text/css"/>
</head>
<style type="text/css">
<!--
.pgoff {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #FF0000; text-decoration: none}
a.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #003366; text-decoration: none}
a:hover.pg {font-family: Verdana, Arial, Helvetica; font-size: 11px; color: #0066cc; text-decoration:underline}
-->
</style>
<?php
	$quant_pg = ceil($quantreg/$numreg);
	$quant_pg++;
	
	if ( $vertodos_duv > 0) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv-1) ."class=pg><b>« anterior</b></a>";
	} else {
		echo "<font color=#CCCCCC>« anterior</font>";
	}
	
	for($i_pg=1;$i_pg<$quant_pg;$i_pg++) {

		if ($vertodos_duv == ($i_pg-1)) {
			echo " <span class=pgoff>[$i_pg]</span> ";
		} else {
			$i_pg2 = $i_pg-1;
			echo " <a href=".$PHP_SELF."?pag=paginas/vertodos_duv=$i_pg2 class=pg><b>$i_pg</b></a> ";
		}
	}
	
	if (($vertodos_duv+2) < $quant_pg) {
		echo "<a href=".$PHP_SELF."?pag=paginas/vertodos_duv=".($vertodos_duv+1)." class=pg><b>próximo »</b></a>";
	} else {
		echo "<font color=#CCCCCC>próximo »</font>";
	}
?>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não entendeu o que eu disse... Assim...

 

Executa uma página... Quando abrir, clica com o botão direito e exibir código fonte. Copia este código e cola aqui.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem bastante coisa errada... Olha como está gerando o link no html.

 

/index.php?paginas/vertodos_duv=2

Sendo que na verdade teria que ser algo assim

 

/index.php?PAG=paginas/vertodos_duv&VERTODOS_DUV=2

O PAG é pag em minusculo. Só coloquei em maísculo para você ver o que está faltando. Da mesma forma o vertodos_duv.

 

E não esqueça de usar o $_GET para capturar os valores.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.