Ir para conteúdo

POWERED BY:

Arquivado

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

DinhoPHP

Preciso de um loop?

Recommended Posts

Olá!

Tenho uma página que exibe vários imóveis e em cada um deles há um coração preenchido que ao ser clicado, adiciona o imóvel em favoritos. Eu gostaria que esse coração (que é o único button deste código) exibisse a imagem de um coração vazio quando o imóvel não estivesse em favorito. Tentei com foreach e while, mas parece só ter funcionado no meu navegador, pois depois que limpei o cache, não aparecia coração nenhum, como nos demais PCs que testei.

 

VEJA A PÁGINA PARA ENTENDER

 

OBS.: ESSES FAVORITOS SÃO ARMAZENADOS EM SESSION, E JÁ É UM SISTEMA EXISTENTE NO SITE, NÃO DESENVOLVI.

<div style="display:none;height:36px;" class="tips"><?=__FILE__?></div>
<?php

   /* Todos os anúncios em destaque e ativos com limite pré determinado no vipmin, é exibido na home. */
   $ordem =  'rand()';
   
   $sql = "select * from team where  ehdestaque = 'Y' and (status is null or status = 1) and (pago = 'sim' or anunciogratis = 's') and begin_time < '".time()."' and end_time > '".time()."' order by $ordem limit ".$INI['system']['qtde_anuncios_destaque_home'];
   $rs = mysql_query($sql);
?>
<div style="text-align:center;clear:both;"><h1><?=utf8_decode($INI['system']['txt2'])?></h1></div>

<div class="row-fluid">
    <ul class="thumbnails">
      <?php 

         while($anuncio = mysql_fetch_assoc($rs)) {

            unset($vagas);
            unset ($quartos);

            /* Caso não tenha nenhuma imagem em destaque. */
            //if(empty($anuncio["imgdestaque"])) {
               //$anuncio["imgdestaque"] = $PATHSKIN . "/images/semfoto.jpg";
            //}

            /* Informações como cidade, estado e bairro são buscados para ser impresso. */
            $sqlC = "select nome from cidades where id = " . $anuncio["city_id"];
            $rsC = mysql_query($sqlC);
            $cidade = mysql_fetch_assoc($rsC);

            if(!(empty($anuncio["imob_estado"])) && !(empty($cidade["nome"]))) {

               $localizacao = $anuncio["imob_estado"] . " - " . $cidade["nome"];
            }

            if(!(empty($anuncio["imob_tipo"]))) {

               $sqlT = "select nome from tipoimoveis where id = '" . $anuncio["imob_tipo"] . "'";
               $rsT = mysql_query($sqlT);
               $tipo = mysql_fetch_assoc($rsT);
            }
            else {
               $bairro = utf8_decode("Bairro não informado.");
            }

            /* Número de vagas e de quartos são exibidos juntamente com o thumb do anúncio. */
            if(!(empty($anuncio["imob_vagas"]))) {
               $vagas = "Total de vagas: " . $anuncio["imob_vagas"];
            }

            if(!(empty($anuncio["imob_quartos"]))) {
               $quartos = "Total de quartos: " . $anuncio["imob_quartos"];
            }

            $url = UrlAnuncio($anuncio["id"]);
      ?>
      <li style="background-color:#fff;" class="span3">
         <a href="<?php echo $url; ?>">
            <div style="background: #FFFFFF; opacity: 0.7; position: absolute; margin: 124px 0px 0px 5px; color:#000; letter-spacing: 0px; padding: 5px; line-height: 15px; font-size: 12px;font-weight: bold; width: 202px; height: 30px;">
               <?php echo utf8_decode($anuncio["title"]);?>
            </div>
         </a>
         <div class="thumbnail">

                <?php
                /* ÁREA RESPONSÁVEL POR DISTINGUIR OS IMÓVEIS INSERIDOS OU NÃO EM FAVORITOS */
                foreach($_SESSION["IdAnuncio"] as $IdAnuncio => $idOffer) {

                $sql = "select * from team where id = " . $idOffer;
                $busca = mysql_query($sql);

                /* Imprime os anúncios, de acordo com o que se encontra armazenado na sessão. */
                while($anuncios = mysql_fetch_assoc($busca)) {

                if ($anuncio["image"] == $anuncios["image"]){
                $heart = "heart_full.png";
                } else{
                $heart = "heart_empty.png";
                }

                ?>
                //ESSE BUTTON SÓ DEVE TER O HEART_FUL.PNG SE ELE VÊ QUE O IMÓVEL ESTÁ EM FAVORITOS
                <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/".$heart;?>" style="width: 20px; height: auto;"></button>
                <?php }} ?>
            <a href="<?php echo $url; ?>">
               <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["image"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159">                <!-- <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["imgdestaque"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159"> -->
            </a>
         <div class="caption">
         <div id="loc_364" class="textoLanc02">
            <?php echo $localizacao; ?>
         </div>
         <div class="textoLanc03">
            <?php echo utf8_decode("Imóvel: " . $tipo["nome"]); ?>
         </div>
         <div class="textoLanc04">
            <ul>
               <li class="Residencial Parc Mantova " id="nomeEmpreendimento_364">
                  <?php echo $quartos; ?>
               </li>
               <li>
                  <?php echo $vagas; ?>
               </li>
            </ul>
         </div>
         <div style="height:10px;"></div>
         <a href="<?php echo $url; ?>">
            <div id="364" class="btn btn-netimoveis detalheEmpreendimento--">
            <i class="icon-list icon-white"></i> ver detalhe</div>
         </a>
         </div>
      </li>
      <?php } ?>
    </ul>
</div>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você está cometendo o problema xy

 

Não consigo localizar a relação entre o loop (pergunta) e qual é realmente o problema que está enfrentando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso que a condição abaixo, seja executada de acordo se o imóvel consta ou não em favoritos. Se consta, heart_full, se não heart_empty. Compreendido?

if ($anuncio["image"] == $anuncios["image"]){
                $heart = "heart_full.png";
                } else{
                $heart = "heart_empty.png";
                }

                ?>
                //ESSE BUTTON SÓ DEVE TER O HEART_FUL.PNG SE ELE VÊ QUE O IMÓVEL ESTÁ EM FAVORITOS
                <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/".$heart;?>" style="width: 20px; height: auto;"></button>
                <?php }} ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa. Só usar a seguinte linha:

$anuncios = mysql_fetch_assoc($busca);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fechei o foreach aqui, e agora não exibe as imagens dos imóveis e nem os button

 

//ESSE BUTTON SÓ DEVE TER O HEART_FUL.PNG SE ELE VÊ QUE O IMÓVEL ESTÁ EM FAVORITOS
                <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/".$heart;?>" style="width: 20px; height: auto;"></button>
                <?php } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código como abaixo, só mostra o resultado satisfatório no meu PC e no Chrome.

 

<?php

            echo "<h2>".$_SESSION["IdAnuncio"]."</h2>";
            // ÁREA RESPONSÁVEL POR DISTINGUIR OS IMÓVEIS INSERIDOS OU NÃO EM FAVORITOS
            foreach($_SESSION["IdAnuncio"] as $IdAnuncio => $idOffer) {

            $sql = "select * from team where id = " . $idOffer;
            $busca = mysql_query($sql);

            // Imprime os anúncios, de acordo com o que se encontra armazenado na sessão.
            while($anuncios = mysql_fetch_assoc($busca)) {

            if ($anuncio["id"] === $anuncios["id"]){


            ?>
            <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/heart_full.png";?>" style="width: 20px; height: auto;"></button>
            <?php } else {?>
            <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/heart_empty.png";?>" style="width: 20px; height: auto;"></button> <?php }}};?>
<a href="<?php echo $url; ?>">
   <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["image"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159">                <!-- <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["imgdestaque"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159"> -->
</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.