Jump to content
Fórum Script Brasil
  • 0

Paginação Com Subcategorias


Naty_Za
 Share

Question

Pessoal, adaptei um código de paginação no meu site!!!

em uma página que mostre todos os registros do banco de um vez só, ele funciona perfeitamente..

mas no meu caso, meu site é divido em categorias.. e cada categoria tem uma quantidade de registros.

ex:

meu banco tem 500 registros...

e em cada categoria eu quero que apareça somente a quantidade que foi destinada a ela...

mas não está acontecendo.. quando clico em alguma categoria, ele mostra todos os registros, dividos por páginas, mas mostra todos.. e eu quero que mostre somente os daquela determinada categoria....

vou postar meu código pra entenderem melhor:

<?
include("config.php");

$link_p_pag = 5;
$reg_p_pag = 10;
$pag = $_GET['pag'];

$busca = mysql_query("SELECT count(*) FROM cadastros;");
$registros = mysql_result($busca,0); 

echo "Número de registros: ";
echo $registros;
echo "<br>";

$num_total_paginas = ($registros%$reg_p_pag==0)?$registros/$reg_p_pag:floor($registros/$reg_p_pag)+1;

echo "Número de páginas: ";
echo $num_total_paginas;
echo "<br>";

echo "Links por página: ";
echo $link_p_pag;
echo "<br>";

echo "Registros por páginas: ";
echo $reg_p_pag;
echo "<br>";
echo "<hr>";

if ($pag>$num_total_paginas)
echo "Error<br><br>";
else

if (!$pag)
$pag = 1;

$inicio = ($reg_p_pag*$pag)-$reg_p_pag;
echo "Inicia em: $inicio<br><br>";

$query = "SELECT * FROM cadastros ORDER BY id LIMIT $inicio, $reg_p_pag";
$result = @mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
  $id = $row['id'];
  $titulo = $row['titulo'];
$classe = $row["classe"];
$servicos = $row["servicos"];
$endereco = $row["endereco"];
$cidade = $row["cidade"];
$estado = $row["estado"];
$tel = $row["tel"];
$email = $row["email"];
$http = $row["http"];

  echo"
<font face=Verdana, Arial, Helvetica, sans-serif><font size=1><strong><a href=\"http://$http\"
target=\"_blank\" >$titulo</strong></a></strong><br></font>
<i>$servicos</i><BR>
$endereco<BR>
$cidade - $estado<BR>
Tel: $tel<BR>
Email: <a href=mailto:$email>$email</a><BR><BR>
";
}

echo "<hr><br>";

$anterior = $pag-1;
if ($anterior<1)
echo "Anterior - ";
else
echo "<a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$anterior\">Anterior</a> - ";

for($i=1; $i<$pag; $i++)
if($i>=$pag-$link_p_pag)
echo "<a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$i\">$i</a> - ";

echo "<b>$pag</b>";

for($i=$pag+1; $i<=$num_total_paginas; $i++)
if($i<=$pag+$link_p_pag)
echo " - <a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$i\">$i</a>";

$proxima = $pag+1;
if ($proxima>$num_total_paginas)
echo " - Próxima";
else
echo " - <a href=\"{$_SERVER['PHP_SELF']}?id_submenu=".$_GET['id_submenu']."&pag=$proxima\">Próxima</a>";
?>

O que tem de errado???

Me ajudem pessoal.. por favor!!!!!!!!!!

Valeeww

Alguém sabe???????????????

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Só olhei as querys (SELECT....) e em nenhuma delas tem a cláusula WHERE para delimitar o que você está procurando, ou seja, o script está listando tudo porque é o que você esta mandando fazer...

Link to comment
Share on other sites

  • 0

é verdade ESerra!!!!!!!!!!

coloquei meu select assim então:

$query = "SELECT * FROM cadastros WHERE classe= $id_submenu ORDER BY id LIMIT $inicio, $reg_p_pag";
e deu certinhoooo só que agora surgiu outra dúvida: na categoria 116, tem só 25 registros.. e a quantidade de página que mostra é a de todos os registro do banco... tem 500 registros ao todos no banco.. dando umas 50 páginas... e como na categoria só tem 25, era pra habilitar somente até a página 3.. mas não, habilita todas.. e daí quando clica não aparece nada, afinal, não tem mais registros praquela categoria.. mas eu queria que aparecesse a quantidade certa de páginas de acordo com a quantidade de registros praquela categoria.. como posso fazer?????/ Valleww Pesquisei e consegui fazer!!!!!!!!!! era so trocar:
$busca = mysql_query("SELECT count(*) FROM cadastros;");
por:
$busca = mysql_query("SELECT count(*) FROM cadastros WHERE categoria= $id_categoria;");

Valewww

Edited by Naty_Za
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...