Ir para conteúdo

POWERED BY:

Arquivado

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

LockSpy

Criando páginação

Recommended Posts

Olá Pessoal,

 

Eu sou novo em PHP e estou tentando criar uma páginação para o meu sistema de mural, estou tentando utilizar um código que encontrei na internet, porém estou tendo certa dificuldade em utilizá-lo, o código encontrado é este:

<?php 
				$busca = "SELECT * FROM mural";

				$totalRegistro = "10";

				$pagina = $_GET['pagina'];
				if (!$pagina) {
					$pc = "1";
				}else {
					$pc = $pagina;
				}

				$inicio = $pc - 1;
				$inicio = $inicio * $total_reg;

				$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
				$todos = mysql_query("$busca");

				$tr = mysql_num_rows($todos);
				$tp = $tr / $total_reg;

				while ($dados = mysql_fetch_array($limite)) {
  					$nome = $dados["nome"];
  					echo "Nome: $nome<br>";
  				}

  				$anterior = $pc -1;
  				$proximo = $pc +1;
  				if ($pc>1) {
  					echo " <a href='?pagina=$anterior'><- Anterior</a> ";
  				}
  				echo "|";
  				if ($pc<$tp) {
  					echo " <a href='?pagina=$proximo'>Próxima -></a>";
  				}
			?> 

Andei estudando muito ultimamente mais ainda não consegui entender exatamente como utilizar o $_GET que é onde começa o meu erro que é este:

( ! ) Notice: Undefined index: pCadastro.php in C:\wamp\www\aajep\paginas\pCadastro.php on line 23

Call Stack

#TimeMemoryFunctionLocation10.0005247888{main}( )..\pCadastro.php:0

 

O que eu entendo do $_GET é que podemos pegar um valor enviado de uma outra página como por exemplo de um link dinamico:

<a href="painelVisualizar.php?id=<?php echo $mu['ID_MURAL']; ?>">

Mas neste caso em específico eu não entendo, o $_GET pega ['pagina'] mais o que seria essa 'pagina', pois ele fala no erro que o index é Undefined, então quer dizer que o valor passado não está correto, certo? Eu testei passar o nome da página pCadastro.php mais continuou com erro.

 

Então o que eu teria que fazer para resolver esse problema, poderiam me ajudar?
Desde já agradecido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Undefined index significa índice indefinido, o índice é o que vai dentro do [], ou seja

$_GET['alguma_coisa'] => índice será o alguma_coisa, se você tentar resgar isso em uma página o alguma_coisa não existir retornará o erro:

Notice: Undefined index: alguma_coisa

 

Segundo o seu erro você está tentando resgatar o índice pCadastro.php, ou seja $_GET['pCadastro.php'], só que no script você está passando o índice página...

 

Troque:

$pagina = $_GET['pagina'];
if (!$pagina) {
                    $pc = "1";
                }else {
                    $pc = $pagina;
                }

Por:

$pc = (isset($_GET['pagina']))?$_GET['pagina']:'1';

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Undefined index significa índice indefinido, o índice é o que vai dentro do [], ou seja

$_GET['alguma_coisa'] => índice será o alguma_coisa, se você tentar resgar isso em uma página o alguma_coisa não existir retornará o erro:

Notice: Undefined index: alguma_coisa

 

Segundo o seu erro você está tentando resgatar o índice pCadastro.php, ou seja $_GET['pCadastro.php'], só que no script você está passando o índice página...

 

Troque:

$pagina = $_GET['pagina'];
if (!$pagina) {
                    $pc = "1";
                }else {
                    $pc = $pagina;
                }

Por:

$pc = (isset($_GET['pagina']))?$_GET['pagina']:'1';

Muito obrigado ESerra! Tirou uma grande dúvida minha esclareceu um pouco mais o $_GET para mim.

Eu continuei arrumando o script e adaptando e consegui fazer ele funcionar.

O logica de desenvolvimento desktop para web tem umas diferenças e estou tentando me adaptar. =D

 

Para quem esteja interessado no script funcionando:

<?php 
	$totalRegistro = "10";

	$pc = (isset($_GET['pagina']))?$_GET['pagina']:'1';

	$inicio = $pc -1;
	$inicio = $inicio * $totalRegistro;

	$limite = "SELECT * FROM cw_mural LIMIT $inicio, $totalRegistro";
	$todos = "SELECT * FROM cw_mural";

	$resultLimite = DBExecute($limite);
	$resultTodos = DBExecute($todos);

	$tr = mysqli_num_rows($resultTodos);
	$tp = $tr / $totalRegistro;

	while ($dados = mysqli_fetch_array($resultLimite)) {
  		echo $dados['TITULO']."<BR>";
  	}

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

  	if ($pc>1) {
  		echo " <a href='?pagina=$anterior'><- Anterior</a> ";
  	}
  	echo "|";
  	if ($pc<$tp) {
  		echo " <a href='?pagina=$proximo'>Próxima -></a>";
  	}
?>

Minha função DBExecute:

//Executa Querys
	function DBExecute($query, $insertId = false){
		$link = DBConnect();
		$result = mysqli_query($link, $query) or die(mysqli_error($link));

		if ($insertId) {
			$result = mysqli_insert_id($link);
		}

		DBClose($link);
		return $result;
	}

Tenham um bom proveito!

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.