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

Listagem De Produtos Do E-commerce...


Adriano_Vicente

Pergunta

Olá pessoal, gostaria de fazer uma listagem de produtos do meu e-commerce mais ou menos como a listagem das Lojas Americanas, Submarino, etc.

Mas o esquema seria o seguinte:

o código PHP faz o loop e joga três itens por linha.

-----IMAGEM----- -----IMAGEM----- -----IMAGEM-----

Desc. do Produto----Desc do Produto----Desc. do Produto

-----IMAGEM----- -----IMAGEM----- -----IMAGEM-----

Desc. do Produto----Desc do Produto----Desc. do Produto

-----IMAGEM----- -----IMAGEM----- -----IMAGEM-----

Desc. do Produto----Desc do Produto----Desc. do Produto

Espero que possam entender, Agradeço qualquer ajuda!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Um tutorialzinho....

você sabe o que você tem que conseguir é que os numeros fiquem nesta ordem:

1      2        3

4      5        6

7      8        9

Supanhamos que você tenha 7 itens. você terá que dividir por 3 que é o total de colunas que teremos, para ver quantas linha iremos ter, desde então 7/3=2.3, então para o loop seria 2 linhas, mais na verdade são 3, então você pode usar a função "ceil" que arredonda para cima um valor fracionário.

então...

$total_itens=7;

$loop_ate=ceil($total_itens / 3);

for($i=1; $i<=$loop_ate; $i++)

{

$direito = ($i * 3);

$centro = ($direito - 1);

$esquerdo = ($centro - 1);

echo $esquerdo . " | " . $centro . " | " . $direito;

}

Eu somente distribuir cada número para sua devida coluna.

Agora o que você precisa fazer é uma condição para o que forem maior que 7 não apreça, boa sorte ai. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado amigo, consegui algo muito bom até agora com o seu script, mas o problema é o seguinte:

O número total de produtos deve ser o número total de registros do banco de dados, para que apareçam todos os produtos, e quando o número de linhas ultrapassa o número de registros dá um erro, pois não tem mais produtos para serem apresentados naquelas tabelas.

Vou mostrar o código:

<?

include("conexao.php");

$sqlcad = "SELECT * FROM produtos WHERE opcao='sim' ORDER BY preço";

$result = mysql_query($sqlcad,$db);

$q_regi = mysql_num_rows($result);

$loop_ate=ceil($q_regi / 3);

print"<table border=\"0\" width=\"100%\">";

for($i=1; $i<=$loop_ate; $i++)

{

$direito = ($i * 3);

$centro = ($direito - 1);

$esquerdo = ($centro - 1);

$db_codigo1=mysql_result($result,$esquerdo,"codigo");

$db_nome1=mysql_result($result,$esquerdo,"nome");

$db_preco1=mysql_result($result,$esquerdo,"preço");

$db_codigo2=mysql_result($result,$centro,"codigo");

$db_nome2=mysql_result($result,$centro,"nome");

$db_preco2=mysql_result($result,$centro,"preço");

$db_codigo3=mysql_result($result,$direito,"codigo");

$db_nome3=mysql_result($result,$direito,"nome");

$db_preco3=mysql_result($result,$direito,"preço");

print"<tr>

<td>

<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo1','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo1 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><b><font size=\"2\">$db_nome1</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo1\">R$ $db_preco1</a></font></td>

</div>

<td>

<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo2','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo2 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo2\"><b><font size=\"2\">$db_nome2</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo2\">R$ $db_preco2</a></font>

</div>

</td>

<td>

<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo3','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo3 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo3\"><b><font size=\"2\">$db_nome3</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo3\">R$ $db_preco3</a></font>

</div>

</td>

</tr>";

}

print"</table>";

?>

Espero que possam entender, Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Pegou rápido em...

Veja eu disse para você fazer uma condição para a tabela do meio e a direita, pra funcionar certinho.

Veja eu modifiquei o seu arquivo:

<?

include("conexao.php");

$sqlcad = "SELECT * FROM produtos WHERE opcao='sim' ORDER BY preço";

$result = mysql_query($sqlcad,$db);

$q_regi = mysql_num_rows($result);

$loop_ate=ceil($q_regi / 3);

print"<table border=\"0\" width=\"100%\">";

for($i=1; $i<=$loop_ate; $i++)

{

$direito = ($i * 3);

$centro = ($direito - 1);

$esquerdo = ($centro - 1);

$db_codigo1=mysql_result($result,$esquerdo,"codigo");

$db_nome1=mysql_result($result,$esquerdo,"nome");

$db_preco1=mysql_result($result,$esquerdo,"preço");

$db_codigo2=mysql_result($result,$centro,"codigo");

$db_nome2=mysql_result($result,$centro,"nome");

$db_preco2=mysql_result($result,$centro,"preço");

$db_codigo3=mysql_result($result,$direito,"codigo");

$db_nome3=mysql_result($result,$direito,"nome");

$db_preco3=mysql_result($result,$direito,"preço");

print"<tr>

<td>

<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo1','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo1 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><b><font size=\"2\">$db_nome1</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo1\">R$ $db_preco1</a></font></td>

</div><td>";

if($centro<=$q_regi>){

print"<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo2','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo2 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo2\"><b><font size=\"2\">$db_nome2</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo2\">R$ $db_preco2</a></font>

</div>

</td>";

}

print"</td><td>";

if($direito<=$q_regi){

print"<center>

<div style=\"width: 115px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo3','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo3 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo3\"><b><font size=\"2\">$db_nome3</font></b></a><br>

<font color=\"#ff0000\"><a href=\"detalhes.php?codigo=$db_codigo3\">R$ $db_preco3</a></font>

</div>";

}

print"</td>

</tr>";

}

print"</table>";

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Olá pessoal, eu fiz a listagem e deu certo, funcionou perfeitamente com o código do nosso amido Gladisson, mas eu ainda preciso de algo a mais:

Não sei se vocês vão entender, eu preciso fazer este mesmo esquema mais com um certo número de produtos por página, vejam o código:

******************************************************************

<?

include("conexao.php");

$sqlcad = "SELECT * FROM produtos WHERE grupo='$grupo' ORDER BY codigo";

$result = mysql_query($sqlcad,$db);

$totProd = mysql_num_rows($result);

if($totProd==0)

{

print"<font color=\"#aaaaaa\"><center><br><br><br><br><br><br>Nenhum produto encontrado no grupo $grupo...</center></font>";

}

elseif($totProd > 0)

{

print"<font color=\"#aaaaaa\"><center>Encontrado(S) $totProd produto(s) no grupo $grupo...</center></font>";

$counter = 0;

if($dir=="") {$dir="Próximo";}

$maxPag = 9;

if($offset==0){$offset=0;}

if($dir=="Próximo") {

if($totProd > $maxPag) {

$counter = $offset;

$offset += $maxPag;

$num=$offset;

if($num > $totProd) {$num = $totProd;}

}

else {$num=$totProd;}

}

elseif($dir=="Anterior") {

if($totProd > $maxPag) {

$offset -= $maxPag;

if($offset<0) {$offset=0;}

$counter=$offset-$maxPag;

if($counter<0) {$counter=0;}

$num=$counter+$maxPag;

}

else {$num=$totProd;}

}

print"<table border=\"0\" width=\"100%\" align=\"center\">";

$maxPag1=4;

while($counter<$maxPag1) {

print"<tr>";

//***********************************************************

$u_regi=$totProd-1;

$direito = ($counter * 3 -1);

$centro = ($direito - 1);

$esquerdo = ($centro - 1);

print"<tr align=\"center\">";

if($esquerdo <= $u_regi){

if($esquerdo >= 0){

$db_codigo1=mysql_result($result,$esquerdo,"codigo");

$db_nome1=mysql_result($result,$esquerdo,"nome");

$db_preco1=mysql_result($result,$esquerdo,"preço");

print"

<td align=\"center\">

<center>

<div style=\"width: 110px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo1','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo1 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><b><font size=\"1\" face=verdana>$db_nome1</font></b></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><font size=\"1\" face=verdana color=\"#ff0000\">R$ $db_preco1</font></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><img src=\"imagem/detalhes.gif\" border=\"0\"></a>

</div>

</center>

</td>

";

}

}

if($centro <= $u_regi){

if($centro >= 0){

$db_codigo2=mysql_result($result,$centro,"codigo");

$db_nome2=mysql_result($result,$centro,"nome");

$db_preco2=mysql_result($result,$centro,"preço");

print"

<td align=\"center\">

<center>

<div style=\"width: 110px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo2','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo2 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo2\"><b><font size=\"1\" face=verdana>$db_nome2</font></b></a><br>

<a href=\"detalhes.php?codigo=$db_codigo2\"><font size=\"1\" face=verdana color=\"#ff0000\">R$ $db_preco2</font></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><img src=\"imagem/detalhes.gif\" border=\"0\"></a>

</div>

</td>";

}

}

if($direito <= $u_regi){

if($direito >= 0){

$db_codigo3=mysql_result($result,$direito,"codigo");

$db_nome3=mysql_result($result,$direito,"nome");

$db_preco3=mysql_result($result,$direito,"preço");

print"

<td align=\"center\">

<center>

<div style=\"width: 110px; align: center;\">

<a href=\"#\" onClick=\"MM_openBrWindow('ver.php?codigo=$db_codigo3','Visualização','scrollbars=yes,resizable=yes,width=420,height=420')\"><img src=visualiza.php?codigo=$db_codigo3 height=\"80\" border=\"0\" alt=\"Clique para ampliar\"></a><br>

<a href=\"detalhes.php?codigo=$db_codigo3\"><b><font size=\"1\" face=verdana>$db_nome3</font></b></a><br>

<a href=\"detalhes.php?codigo=$db_codigo3\"><font size=\"1\" face=verdana color=\"#ff0000\">R$ $db_preco3</font></a><br>

<a href=\"detalhes.php?codigo=$db_codigo1\"><img src=\"imagem/detalhes.gif\" border=\"0\"></a>

</div>

</td>";

}

}

print"</tr>";

//*******************************************************

$counter++;

}

$pri=$offset-8;

print"<tr><td colspan=\"3\"><br><center>";

if($totProd > $maxPag) {

print"<b><font color=\"#aaaaaa\">Página de produtos de $pri a $num<br>COUNTER: $counter OFFSET: $offset NUM: $num</font></b><form action=\"$PHP_SELF\" method=\"POST\">\n";

if($offset>$maxPag){

print"<input type=\"submit\" value=\"Anterior\" name=dir>\n";}

if($offset<$totProd){

print"<input type=\"submit\" value=\"Próximo\" name=dir>\n";}

print"<input type=\"hidden\" value=\"$offset\" name=\"offset\">

<input type=\"hidden\" value=\"$grupo\" name=\"grupo\">";

print"</form></center>";

}

print"</td></tr>";

print "</table>";

}

mysql_close();

?>

*************************************************************

Acho que o código não está muito difícil de entender, eu preciso listar apenas 9 itens por página e preciso que quando clicar no botão Próximo apareça a outra página de produtos, vamos dizer que a primeira página seja do registro 0 ao 9, a segunda deve ser do registro 10 ao 19 e assim por diante.

Agradeço qualquer ajuda, Obrigado!

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,5k
    • Posts
      652,3k
×
×
  • Criar Novo...