Ir para conteúdo

POWERED BY:

Arquivado

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

GuilhermeBiegelmeyer

LIGHTBOX + MySQL

Recommended Posts

Boa tarde pessoal!

 

Estou lutando contra um terrível desafio! hehe

 

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

 

Tenho uma galeria de fotos com os logos dos meus clientes, onde esses logos são puxadas do banco de dados através do WHILE.

 

Coloquei um efeito LIGHTBOX nesses logos, porém, eu gostaria que ao envés de abrir o próprio logo,

ela devera abrir as fotos dos trabalhos dos clientes, que estão em outra tabela no MYSQL.

 

Minha dúvida é a seguinte, como eu faço para para clicar sobre o logo (tabela 1), e abrir os trabalhos (tabela 2) com o efeito LIGHTBOX?

 

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

 

Site Referência: http://www.agenciaama.com.br/index.htm

 

==> Cliquem em trabalhos > logo em seguida, sobre as imagens...

 

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

 

Abaixo meu código !

 

<?php

if($not->ler()>0){

while($not->ini()){

?>

 

<a href= "aqui colocar as imagens para ser apresentadas(trabalhos_clientes) " rel="prettyPhoto" title="">

 

<div class="div_thumb_cliente">

<?php if($not->tipo_logo <> ''){ ?><img src="gera_logo.php?id=<?php echo $id; ?>" border="0" class="efeito_black"/>

<?php } ?>

</div>

 

</a>

 

<?php

}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso vc vai resolver no server-side cara.

 

Ali no href, vc precisa que o php já traga os dados.

Sabe fazer INNER JOIN ?

 

pergunta:

-> Um mesmo cliente tem vários trabalhos ? ou um só ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom tarde William!

 

Velho, fiz o INNER JOIN como você disse...

 

Segue o código abaixo

 

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

 

$not->sql = "Select clientes.id_cliente, clientes.nm_cliente, clientes.tipo_logo, trabalhos_clientes.id_trabalho
from clientes inner join trabalhos_clientes on clientes.id_cliente = trabalhos_clientes.id_cliente
where clientes.ativo = '1' and clientes.mostra_site = '1' order by clientes.nm_cliente asc";
*********************************************************************
O Cliente tem vários trabalhos...
Ao fazer o INNER JOIN, só aparece os clientes que possuem trabalhos, os que não possuem, não aparecem.
E os que possuem trabalhos, estão se "clonando" com a quantidade de trabalhos...
ex: Cliente1 possuí 3 trabalhos... Na tela aparecera 3 vezes o Cliente1, entendeu?
*********************************************************************
O href ficou assim : <a href="gera_trabalho.php?id=<?php echo $not->id_trabalho ; ?>"
Por onde devo prosseguir?
Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim sim, o correto é isso.

 

Se vc quer que também aparecem os clientes sem trabalhos, vc deve trocar o INNER JOIN por um LEFT JOIN(sendo a table de clientes a da esquerda).

 

Agora deixe duplicar as tags <a>, e esconda as demais, pq isso q vai fazer aparecer o modal com todos os trabalhos. Uma forma de agrupar por cliente, é fazer ler a doc do teu modal e ver qual atributo ele usa, geralmente é o rel=""

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala William,

 

acho que me enrolei agora. Bom, vamos por partes...

 

1 - Fiz a consulta usando o LEFT JOIN(tabela clientes a esquerda e trabalhos a direita);

2 - Utilizei o while para fazer o loop das logos dos clientes;

3 - Em cada logo, coloquei um href puxando o id_trabalho, que esta ligada com o cliente;

 

No banco de dados, tenho 32 clientes, e 3 trabalhos cadastrados em apenas 1 desses 32 clientes.

 

Com isso, na tela me mostra, os 32 clientes, porém, o cliente que possuí 3 trabalhos, a logo dele aparece duplicada 3 vezes!

 

E quando eu clico sobre esse cliente que possui 3 trabalhos, aparece os trabalhos dele no modal corretamente, porem, eles não fazem o loop entre eles mesmo, eles partem para o próximo cliente, e o modal fica todo preto, pois o próximo cliente não possui trabalhos... entendeu? rs

 

segue meu código abaixo

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

<?php
//======================================================================================
//==> Inicializar Classes
//======================================================================================
$not  = new Persist;
$not2 = new Persist;
 
//======================================================================================
//==> Seleciona dados
//======================================================================================

$not->sql  = "Select clientes.id_cliente, clientes.nm_cliente, clientes.tipo_logo, trabalhos_clientes.id_trabalho
from clientes left join trabalhos_clientes on clientes.id_cliente = trabalhos_clientes.id_cliente
where clientes.ativo = '1' and clientes.mostra_site = '1' order by clientes.nm_cliente asc";
 
 
?>
 
<script src="pretty/js/jquery-1.6.1.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="pretty/css/prettyPhoto.css" type="text/css" media="screen" charset="utf-8" />
<script src="pretty/js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script>
 
<script type="text/javascript" charset="utf-8">
    $(document).ready(function(){
        $("a[rel^='prettyPhoto']").prettyPhoto();
    });
</script>
 
<div id="espaco" style="height:10px;"></div>
<table cellpadding="0" cellspacing="0" width="1024" background="imagens/branco.jpg" align="center">
<tr>
    <td align="center">
 
<?php
   if($not->ler()>0){ 
      while($not->ini()){
          $id = $not->id_cliente;
?>
 
    <a href="gera_trabalho.php?id=<?php echo $not->id_trabalho ; ?>"
    rel="prettyPhoto[pp_gal]" title="You can add caption to pictures.">
 
    <div class="div_thumb_cliente">
    <?php if($not->tipo_logo <> ''){ ?><img src="gera_logo.php?id=<?php echo $id; ?>" border="0" class="efeito_black"/><?php } ?>
    </div>
 
    </a>
 
        <?php
            }
        }
        ?>
      </td>
  </tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com isso, na tela me mostra, os 32 clientes, porém, o cliente que possuí 3 trabalhos, a logo dele aparece duplicada 3 vezes!

sim, exato. Agora esconda os outros 2 logos.

 

 

 

porem, eles não fazem o loop entre eles mesmo,

agora use um group, geralmente feito com o atributo rel. Leia doc do teu plugin de modal.

 

eles partem para o próximo cliente, e o modal fica todo preto, pois o próximo cliente não possui trabalhos...

exato. Agora faça um IF para verificar se o cara tem trabalhos, se não tiver, não coloca a tag <a>

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.