Ir para conteúdo

POWERED BY:

Arquivado

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

elvisson

[Resolvido] Exibir resultados aleatórios da consulta

Recommended Posts

olá pessoal estou com o seguinte problema nao consigo exibir na paginação do resultado da consulta fornecedores diferentes do mesmo produto e categoria, pois so ta dando certo apenas pela categoria e pela ordem de cadastramento, ex:

 

codigo produto categoria fornecedor

1 camisa 1 fabricante 1

2 calça 2 fabricante 1

3 meia 3 fabricante 1

4 camisa 1 fabricante 2

5 calça 2 fabricante 2

6 meia 3 fabricante 2

7 camisa 1 fabricante 3

8 calça 2 fabricante 3

9 meia 3 fabricante 3

 

Gostaria que em cada pagina da paginação de resultado aparecesse o mesmo produto da mesma categoria mais com os fornecedores diferente desse produto, e conseguir apenas os mesmos produtos da mesma categoria na ordem em que eles foram cadastrados, ou seja primeiro aparece os produtos de um fornecedor e dpois do outros na outra pagina e assim por diante, queria q aparecessem aleatoriament dos fornecedores desse produto...ok...

dá uma olhada no codigo ai, a paginação ta funcionando corretamente:

 

<?php
     require("../conexao.inc");

     //quantidade de colunas
     $numeroColunas=3;
     //quantidade de registros por pagina
     $numreg = 6;
     //inicio do link para paginacao
     //$inicioLink="cojuntos.php";

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

     }

     $max=6;

     $inicio = $pagina - 1;
     $inicio = $max * $inicio;

     $sql = "SELECT * FROM tb_produtos where categoria='1'";
     $query = mysql_query($sql) or die(mysql_error());
     $total=mysql_num_rows($query);

     if (mysql_num_rows($query)==0) {
        echo "<center><font size=3 color=red><b>Nenhum produto cadastrado!</b></font><br><br>";
        echo "<a href=javascript:history.go(-1);>Voltar</a></center>";
      } else {

     $sql2="SELECT * FROM tb_produtos where categoria='1' order by id LIMIT $inicio,$max";
     $query2=mysql_query($sql2) or die(mysql_error());
     ?>
     <center>
     <table width="700" border="0" cellspacing="5" cellpadding="5">
     <?php
     $cont = 1;
     while($res=mysql_fetch_array($query2))
     {
     if($cont == 1)
     {
       echo "<tr>";
       }
       ?>


     <td width="100" align="center">
     <?php echo '<b>'. $res['produto'].'</b><br>';?>
     <?php echo '<b> Preço: <font color=red> R$ '.$res['preco_venda'].'</font></b><br><br>';?>
     <?php echo '<a href="../sistema/produtos/'.$res['imagem'].'" rel="efeito" title="<center>'.$res['produto'].'<br><b> PREÇO: <font color=red> R$ '.$res['preco_venda'].'</font></b></center>"><img src="../sistema/produtos/'.$res['imagem2'].'" border=0 title="Clique para exibir em tamanho grande!"></a>'; ?>
     <?php echo '<br>(P) (M) (G)<br><br>'; ?>
     <?php echo '<a href="carrinho.php?acao=add&id='.$res['id'].'"><img src="bt_comprar.gif" border=0></a>'; ?>
     </td>
     <?php
     if($cont == $numeroColunas)
     {
       echo "</tr>";
       $cont = 1;
      } else
      {
       $cont++;
       }
       }
       ?>
       </table>

       <?php
       echo "<center> <br>";
             // Calculando pagina anterior
     $menos = $pagina - 1;
     // Calculando pagina posterior
     $mais = $pagina + 1;
     $pgs = ceil($total / $max);
     if($pgs > 1 )
     {
     if($menos >0)
     echo "<a href=\"?pagina=$menos\" class='texto_paginacao'>Anterior</a> ";

     if (($pagina-4) < 1 )

     $anterior = 1;

     else
     $anterior = $pagina-4;

     if (($pagina+4) > $pgs )
     $posterior = $pgs;
     else

     $posterior = $pagina + 4;

     for($i=$anterior;$i <= $posterior; $i++)
     if($i != $pagina)
     echo " <a href=\"?pagina=".($i)."\" class='texto_paginacao'>$i</a>";

     else
     echo " <strong class='texto_paginacao_pgatual'>".$i."</strong>";

     if($mais <= $pgs)
     echo " <a href=\"?pagina=$mais\" class='texto_paginacao'>Proxima</a>";
     }
       echo "</center>";
       ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

oque ta mais dificil é decifrar aqui

 

Gostaria que em cada pagina da paginação de resultado aparecesse o mesmo produto da mesma categoria mais com os fornecedores diferente desse produto, e conseguir apenas os mesmos produtos da mesma categoria na ordem em que eles foram cadastrados, ou seja primeiro aparece os produtos de um fornecedor e dpois do outros na outra pagina e assim por diante, queria q aparecessem aleatoriament dos fornecedores desse produto...ok...

 

 

você quer que ao listar os produtos sejam ordenados por categoria (porem os produtos podem estar em ordem randomica) ??

 

Porem voce so conseguiu fazer em ordem de cadastro, ou seja ficou ordenado pelo id do produto?

 

se for isso:

 

$sql2="SELECT * FROM tb_produtos where categoria='1' order by id LIMIT $inicio,$max";
// você mandou ordernar pelo ID do produto
// coloca assim

$sql2="SELECT * FROM tb_produtos where categoria='1' order by RAND() LIMIT $inicio,$max";
// vai pegar os produtos da categoria 1 e colocar randomicamente


Compartilhar este post


Link para o post
Compartilhar em outros sites

cara se voce quer paginar por categoria vai ter que usar iframe

por que paginação serve pra uma pagina só o iframe vai colocar uma pagina dentro de outra pagina entao logo voce pode usar iframe pra isso e fazer a paginação na pagina separada

exemplo

pagina1.php

faz um select com todos os produtos da empresa 1

e faz a paginação

pagina2.php

 

faz um select com todos os produtos da empresa 2

e faz a paginação

pagina3.php

faz um select com todos os produtos da empresa 3

e faz a paginação

 

a exibir.php

[body]

<body>

<iframe name="_pg1" src="pagina1.php" width="auto" height="auto"></iframe> //onde ta auto voce define!

 

<iframe name="_pg2" src="pagina2.php" width="auto" height="auto"></iframe> //onde ta auto voce define!

 

<iframe name="_pg3" src="pagina3.php" width="auto" height="auto"></iframe> //onde ta auto voce define!

</body>[/code]

deu pra entender assim voce pode paginar 3 paginas diferentes e exibir em uma

mais nao tem como paginar 2 em uma só

só desse jeito ai que to falando!

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.