Jump to content

Fazendo um SELECT e trazendo Imagens


Recommended Posts

Olá Amigos!

 

Estou fazendo um site, fora do presta shop! Porém quero trazer no Home de site os produtos que são inseridos na loja. Para isso fiz um select onde traz as informações:

 

 

<? 
include("../itens/conn.php");
$lang = "1";
$lim_prod = "28";

$SQLprod = "SELECT * from ps1__product, ps1__image, ps1__image_lang WHERE (ps1__product.id_product = ps1__image.id_product) LIMIT $lim_prod ";
$prod = mysql_query($SQLprod);

?>

 

Após o select criei a lógica que vai me trazer os dados que pretendo:

 

 

<? while ($p = mysql_fetch_array($prod)){ 
$products_id = $p['id_product'];
  $prodnome = $p['legend'];
$pnome = substr($prodnome,0,20);
$prodtit = $p['legend'];
$ptit = substr($prodtit,0,24);
$pimg = $p['id_lang'];
$preco = $p['price'];
$preco=number_format($preco,2,'.',',');
?>
<div class="prod"><a href="http://dyingmusic.com/criandonovalojadm2/modules/homefeatured/homefeatured.php?id_product=<? echo $products_id; ?>" target="_blank"><img src="../criandonovalojadm2/img/p<? echo $pimg ?>" alt="<? echo $pnome ?>" style="width:120px;height:120px;border:none;" /></a>
               <br />
<span><? echo $pnome; ?></span>
               <br />
<span class="title"><? echo $ptit; ?></span><? if (strlen($ptit) > 21){ echo "...";}?>
               <br />
               <span class="preco">R$ <? echo $preco ?></span>
               </div>
<? } ?>

 

Porém não estou conseguindo trazer as imagens, veja como esta: http://dyingmusic.com/site/fred_test.php

 

Acredito que o erro esta nesse "href" :

 

<a href="http://dyingmusic.com/criandonovalojadm2/modules/homefeatured/homefeatured.php?id_product=<? echo $products_id; ?>

 

 

Alguém pode me ajudar?

 

Grato.

 

Fred Azevêdo!

Link to comment
Share on other sites

Olá Gabriel Pacheco, fico grato pela observação, mas não é isso! Depois de várias horas consegui fazer!

 

Vou fazer o passo a passo, para quem quer pegar o Homefacture e colocar em um Site fora do Presta shop, tipo como um include!

 

Primeiro é importante fazer um SQL com as variáreis a serem retornadas, sendo assim:

 

 

$SQLprod = "SELECT DISTINCT ps1__product.id_product, price, ps1__image.id_image, ps1__image_lang.legend FROM ps1__product
INNER JOIN ps1__image ON ps1__product.id_product = ps1__image.id_product INNER JOIN ps1__image_lang ON ps1__image.id_image = ps1__image_lang.id_image WHERE (ps1__product.id_product = ps1__image.id_product)  ORDER BY ps1__image.id_product DESC LIMIT $lim_prod";
$prod = mysql_query($SQLprod);

 

Em seguida crie um laço while chamando essas variáveis:

 

 

<? while ($p = mysql_fetch_array($prod)){ 
$id_product = $p['id_product'];
$prodnome = $p['legend'];
$pnome = substr($prodnome,0,20);
$prodtit = $p['legend'];
$ptit = substr($prodtit,0,24);
$pimg = $p['id_image'];
$preco = $p['price'];
$preco=number_format($preco,2,'.',',');
?>
<div class="prod"><a href="http://dyingmusic.com/criandonovalojadm2/product.php?id_product=<? echo $id_product; ?>" target="_blank"><img src="../criandonovalojadm2/img/p/<? echo $id_product."-".$pimg.".jpg" ?>" style="width:120px;height:120px;border:none;" /></a>
               <br />
<span><? echo $pnome; ?></span>
               <br />
<span class="title"><? echo $ptit; ?></span><? if (strlen($ptit) > 21){ echo "...";}?>
               <br />
               <span class="preco">R$ <? echo $preco ?></span>
               </div>
               <? } ?>

 

 

Vamos comentar uns pontos fundamentais nesse laço while, o primeiro deles é a linha:

 

<a href="http://dyingmusic.com/criandonovalojadm2/product.php?id_product=<? echo $id_product; ?>

 

Essa linha aponta para o "product.php" passando-lhe por parâmetro o "Código do Produto". Quando o usuário clicar na figura, será redirecionado para a Loja com o produto especifico pronto para adicionar ao carro de compras.

 

Próximo código é relacionado ao que vai aparecer no <span></span>, ou seja o valor das variáveis.

 

<img src="../criandonovalojadm2/img/p/<? echo $id_product."-".$pimg.".jpg" ?>

 

Veja que o echo traz duas variáveis $id_product e $pimg que estão concatenados a uma string .jpg, isso se deve ao fato de que o Prestashop trabalha com caminhos path no banco de dados, ou seja, ele não armazena imagem em campo blob, armazena apenas o caminho e define um nome lógico, tipo: 1-2jpg; 1-3.jpg; 4-5.jpg; 44-77.jpg... Explicando: na figura com o nome "44-77.jpg" significa que o produto "77" tem uma imagem associada a ele que é a "44". Se não me engano tem um tópico explicando bem esse assunto aqui no fórum. Não é meu objetivo comentar isso profundamente, visto que o comentário se faz necessário para entender a linha de código acima. Por isso a lógica: echo $id_product."-".$pimg.".jpg".

 

Feito isso, formate o CSS dessa página pra ficar do mesmo jeito do homefacture do presta shop, e é só colocar em qualquer Site fora do presta que vai funcionar perfeitamente.

 

Espero ter sido claro e objetivo! como era uma dúvida, consegui resolver, então é justo colocar a solução para quem passar pelo mesmo problema um dia. Qualquer dúvidas ou sugestões podem comentar.

 

Abraço a todos do fórum.

 

Fred Azevêdo.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...