Ir para conteúdo

POWERED BY:

Arquivado

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

DinhoPHP

[Resolvido] Problemas com While e Foreach

Recommended Posts

Olá!

Tenho uma página de anúncios de imóveis aonde cada uma delas <li> exibe a imagem, características do imóvel e uma img de coração que ao ser clicada o adiciona em favoritos. Mas desejo que o coração preenchido só seja exibido quando este imóvel constar nos favoritos, que é armazenado em sessão; sem que haja multiplicações de imóveis, como acontece atualmente.

 

VEJA AQUI O QUE ACONTECE

 

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

include "bloco_favoritos.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"]);

        /* Caso o $anuncio seja igual a 2, então se trata dos anúncios nos 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)) {

            // PRECISO QUE O HEART FULL SEJA EXIBIDO APENAS QUANDO O IMÓVEL ESTIVER FAVORITADO
            // E QUE NÃO HAJA MULTIPLICAÇÃO DOS MESMOS IMÓVEIS, DIVERSAS VEZES.
            if ($anuncio["image"] == $anuncios["image"]){
                $heart = "heart_full.png";
            } else{
                $heart = "heart_empty.png";
            }
		?>
		<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">


                <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>

				<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>
                <?php
                echo "<h3>".print_r($_SESSION["idfav"])."</h3>";
                ?>
		</li>
		<?php }}} ?>
    </ul>
</div>
</div>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi da seguinte maneira:

 

<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";
                }

                ?>
                <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

  • 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.