Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar Colunas Ao Listar Registros


doulo4ever

Pergunta

Galera, na minha biblioteca virtual, eu vou trabalhar com sub-categorias!

Só que quando eu clico em uma categoria para ver as sub-categorias existentes, eu queria que elas aparecessem dentro de uma tabela e separadas por colunas, então fiz da seguinte forma:

<?

$tabela = "biblio_subcateg";

$qtde = "8";

$clausula = "WHERE categoria='$codigo'";

$complink = "&codigo=$codigo";

require("paginacao.php");

$sql = "select * from $tabela $clausula Limit $inicio,$quantidade";

$query = @mysql_query($sql);

if (!$query){

die ("Problemas ao executar o sql !!!");

} else {

if($total == 0) {

echo "<div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1><tr><td width=17% align=center><font face=Verdana size=2><img border=0 src=images/note4.gif></font><td width=83% valign=middle><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<b>Desculpe,</b> não existem sub-categorias nesta categoria</font></td></tr></table></center></div>";

} else {

if($total>0)

echo "<div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1><tr><td width=17% align=center><font face=Verdana size=2><img border=0 src=images/note5.gif></font><td width=83% valign=middle><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;Existem <b>$total</b> sub-categoria(s) cadastrada(s) nesta categoria</font></td></tr></table></center></div>";

echo "<br><div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1><tr>";

while ($i = @mysql_fetch_array($query)){

$idsubcateg = $i["idsubcateg"];

$nome = $i["nome"];

echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";

}

echo "</tr></table></center></div>";

echo "<br><div align='center'><font face=Verdana size=2>$monta_link</font></div>";

}

}

mysql_close($conn);

?>

Mas tem um problema...os registros vão aparecendo um do lado do outro sem limite, o que pode desorganizar a página se existirem muitos, eu queria que ao listar os resultados, aparecessem no máximo 4 colunas, e os demais resultados embaixo nas próximas 4 colunas!

Não sei se deu pra entender direito!?

Para ver como está entre http://www.cosmopolisemrede.com.br/utilitarios/biblioteca

cliquem em "Literatura", vão aparecer 6 sub-categorias, mas uma do lado da outra, se fossem 10 ía virar uma zona, então eu quero restringir o número de colunas em 4!

Obrigado pela força, se não deu pra entender me digam!

Paulo

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Já sim, os valor início e quantidade já estão definidos, esse negócio tem a ver com a paginação e não era bem isso que eu queria!

Se eu mudar o valor de $qtde = "8"; para 4 funciona, mas não isso que eu quero porque daí só vão aparecer 4 registros em uma página, mas o que eu quero é que apareçam no máximo 4 colunas de cada vez e não apenas 4 registros por página!

Alguém pode me ajudar?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Maluco, usei os dados do seu tutorial, não sei se montei errado no código, só sei que deu um erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/cosmopol/public_html/utilitarios/biblioteca/vercategoria.php on line 107

http://www.cosmopolisemrede.com.br/utilita...ia.php?codigo=1

O código ficou dessa forma:

<?

$tabela = "biblio_subcateg";
$qtde = "8";
$clausula = "WHERE categoria='$codigo'";
$complink = "&codigo=$codigo";
require("paginacao.php");

$sql = "select * from $tabela $clausula Limit $inicio,$quantidade";
$query = @mysql_query($sql);
if (!$query){
die ("Problemas ao executar o sql !!!");
} else {

if($total == 0) {
echo "<div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1><tr><td width=17% align=center><font face=Verdana size=2><img border=0 src=images/note4.gif></font><td width=83% valign=middle><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<b>Desculpe,</b> não existem sub-categorias nesta categoria</font></td></tr></table></center></div>";
} else {
if($total>0)
echo "<div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1><tr><td width=17% align=center><font face=Verdana size=2><img border=0 src=images/note5.gif></font><td width=83% valign=middle><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;Existem <b>$total</b> sub-categoria(s) cadastrada(s) nesta categoria</font></td></tr></table></center></div>";

echo "<br><div align=center><center><table border=1 cellpadding=10 cellspacing=0 style='border-collapse: collapse' bordercolor=#F0F0F0 width=90% id=AutoNumber1>";

for($i=0;$i<mysql_num_rows($sql);$i++) {
$idsubcateg = @mysql_result($sql,$i,"idsubcateg");
$nome = @mysql_result($sql,$i,"nome");

echo "<tr>";
echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";

$i++;

$idsubcateg = @mysql_result($sql,$i,"idsubcateg");
$nome = @mysql_result($sql,$i,"nome");

echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";
echo "</tr>";

}

echo "</table></center></div>";

echo "<br><div align='center'><font face=Verdana size=2>$monta_link</font></div>";

}
}
mysql_close($conn);
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Olá !!

Provavelmente está faltando (";) de uma olhada

esta sem !

$sql = "select * from $tabela $clausula Limit 

Correto !

$sql = "select * from $tabela $clausula Limit ";

Testa ai cara !

Qualquer coisa posta ai !!

ATT:kadu biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

é só você seguir o loop..

for($i=0;$i<mysql_num_rows($sql);$i++) {

$idsubcateg = @mysql_result($sql,$i,"idsubcateg");

$nome = @mysql_result($sql,$i,"nome");

echo "<tr>";

echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";

$i++;

$idsubcateg = @mysql_result($sql,$i,"idsubcateg");

$nome = @mysql_result($sql,$i,"nome");

echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";

echo "</tr>";

$i++;

$idsubcateg = @mysql_result($sql,$i,"idsubcateg");

$nome = @mysql_result($sql,$i,"nome");

echo "<td align=center><p align=left><font face=Verdana size=2><img src=images/flecha.gif>&nbsp;&nbsp;<a href='versubcategoria.php?codigo=$idsubcateg'><b>$nome</b></a></font></td>";

echo "</tr>";

}

isso vai colocar em 3 colunas, ai é só aumentar repetir o que está em vermelhor mais uma vez

Link para o comentário
Compartilhar em outros sites

  • 0

No caso tive que tirar o echo "</tr>"; da segunda coluna senão ía desorganizar a tabela, mas funcionou corretamente!

Valeu mesmo galera pela ajuda!

Sabe esse negócio de sub-categoria? Então...eu tive que criar outra tabela "biblio_subcateg" para fazer isso, mas eu vejo de vez em quando em códigos de lojas virtuais que é possível criar sub-categorias ilimitadamente, como é possível criar centenas de sub-sub-subs-categorias sem que seja preciso criar tabelas e tabelas para isso?

Existe alguma outra técnica?

Qual é a teoria disso?

VALEUUUUUU

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...