Ir para conteúdo

POWERED BY:

Arquivado

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

mjs

!!!! sobre o loop while

Recommended Posts

Pessoal no caso estou usando o loop while para mostrar todas as linhas de uma pesquisa, mas o safado sempre deixa de mostrar a primeira linha, eu consegui resolver o problema, mas achei chato isso.. abaixo vou deixar o código para vocês olharem... junto vai estar o esquema de páginação...

 

<?// Verifica as Permissõesif ($_SESSION["perm"]=="1" || $_SESSION["perm"]=="2" || $_SESSION["perm"]=="6" || $_SESSION["perm"]=="7" || $_SESSION["perm"]=="8"){	// String de Consulta	$sql = 'SELECT * FROM modulo_artigos WHERE artautid = "'.$_SESSION["id"].'"'; // String de busca usada para contar as linhas	$qry = mysql_query($sql) or die(mysql_error());	// Variável que guard execução da string de consulta	// Dados para páginação	$rpp = 10; // Resultados por páginas	$total = mysql_num_rows($qry); // Retorna o total de linhas	$paginas = ceil($total / $rpp); // Retorna o total de páginas	$pagina = $_GET["pagina"]; // Pega do endereço a página que deve ser exibida	if(!isset($pagina)) {$pagina = 0;}	$inicio = $pagina * $rpp; // Retorna qual será a primeira linha a ser mostrada no mysql	$sql = mysql_query("SELECT * FROM modulo_artigos WHERE artautid = ".$_SESSION["id"]." ORDER BY artdat desc LIMIT $inicio, $rpp") or die(mysql_error());; // Executa a busca no MySql com limite de linhas	if ($l = mysql_fetch_row($sql)){// Verifica se foram encontradas Linhas (resultados na busca)  // Imprime a organização da tabela  echo "<br><div class=\"modtit\" align=\"center\">Seus Artigos</div></div><br><br>\n";  echo "<center><table border=\"0\" cellspacing=\"3\" cellpadding=\"0\" width=\"100%\">\n";  echo "<tr><td><b>ID</b></td><td><b><center>Título</center></b></td>";  echo "<td><b><center>Data</center></b></td><td><b><center>Alterar<center></b>";  echo "</td><td><b><center>Excluir<center></b></td></tr>";  echo "<tr><td colspan=\"5\"> </td></tr>\n";  	// Imprime o primeiro resultado da busca  	echo "<td><div class=\"normal\">" . mysql_result($sql,0,"artid") . "</div></td>";  	echo "<td><center><a href=" . $l[6] . " class=\"distro\" target=\"top\">" . mysql_result($sql,0,"arttit") . "</a></center></td>\n";  	echo "<td><div class=\"normal\"><center>" . strftime("%d/%m/%Y",strtotime(mysql_result($sql,0,"artdat"))) . "</center></div></td>\n";  	echo "<td><center><a class=\"distro\" href=\"/linuxhard/alterar.php?secao=artigos&id=" . mysql_result($sql,0,"artid") . "\">Alterar</a></center></td>\n";  	if ($_SESSION["perm"]=="1"){echo "<td><center><a class=\"distro\" href=\"/linuxhard/modules/administracao/excluir.php?secao=artigos&id=" . mysql_result($sql,0,"artid") . "\">Excluir</a></center></td></tr>\n";}  	// Efetua o loop das outras linhas encontradas  	while($l = mysql_fetch_row($sql)){  	echo "<tr><td><div class=\"normal\">" . $l[0] . "</div></td>\n";  	echo "<td><center><a href=" . $l[6] . " class=\"distro\" target=\"top\">" . $l[3] . "</a></center></td>\n";  	echo "<td><div class=\"normal\"><center>" . strftime("%d/%m/%Y",strtotime("$l[5]")) . "</center></div></td>\n";  	echo "<td><center><a class=\"distro\" href=\"/linuxhard/alterar.php?secao=artigos&id=" . $l[0] . "\">Alterar</a></center></td>\n";  	if ($_SESSION["perm"]=="1"){echo "<td><center><a class=\"distro\" href=\"/linuxhard/modules/administracao/excluir.php?secao=artigos&id=" . $l[0] . "\">Excluir</a></center></td></tr>\n";}  	}  echo "</table></center>\n\n";  // Links para páginas anterior e próxima  echo "<br><br><div class=\"normal\"><center>\n";  // Definir as váriaveis usadas na construção dos links  $menos = $pagina;  $mais = $pagina;  // Anterior  if($pagina > 0){  $menos = $menos - 1;  $url = "$PHP_SELF?go=artigos&pagina=$menos";  echo "<a href=\"$url\" class=\"pagina\">Anterior</a>\n"; // cria link para página anterior  }  // Links númericos (tipo google página 1 2 3 4)  for($i=0;$i<$paginas;$i++){ // Gera um loop com o link para páginas  if($paginas==$mais){break;}  $url = "$PHP_SELF?go=artigos&pagina=$mais";  $mais = $mais + 1;  echo " | <a href=\"$url\" class=\"pagina\">$mais</a> | \n";    }  // Próximo  if($pagina < ($paginas - 1)){  $mais = $pagina + 1;  $url = "$PHP_SELF?go=artigos&pagina=$mais";  echo "<a href=\"$url\" class=\"pagina\">Próximo</a>\n";  echo "</center></div>";  }  }else{  // Mensagem caso nenhuma linha seja encontrada  echo "<center><b>Você não tem nenhum artigo publicado no LINUX HARD!.</b></center><br>\n";	}}else{echo "<center><b>SOMENTE PESSOAL AUTORIZADO CONTÉM ACESSO.<br>Marcos José Setim - Administação!</b></center>";}?>

pensei em criar outro tópico para perguntar mais vai nesse... não entendi bem o funcionamento disto na páginaçào:

 

$paginas = ceil($total / $rpp); // Retorna o total de páginas

 

Para que o uso do ceil??

 

LIMIT $inicio, $rpp

 

Qual a sintaxe disso para o mysql, qual a funcionalidade para busca na páginação?? naum entendi..

 

Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ceil() aproxima um número quebrado ao próximo inteiro:exemplo:<?= ceil("3.4"); ?>Isso retornaria 4. :ph34r:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ceil() aproxima um número quebrado ao próximo inteiro:exemplo:<?= ceil("3.4"); ?>Isso retornaria 4. B)

Valeu... agora já sei para que ser.. vamos ver se tem mais alguém que saiba as outras dúvidas.. thanks...

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.