Ir para conteúdo

Arquivado

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

Roger Cardoso

Listar produtos de uma categoria usando Isotope

Recommended Posts

Olá pessoal, sou novato aqui e também iniciante no PHP e preciso de uma ajudinha. Abaixo segue um código que implementei para listar produtos através de categorias e usei a biblioteca "Isotope". O problema é que está carregando apenas uma categoria. Se alguém souber onde esta o erro, fico muito agradecido. Desde já muito obrigado!!! 

<section class="section-50 section-sm-top-90 section-sm-bottom-100 bg-image-6">
  <div class="shell-wide isotope-wrap">
  <h3 class="text-center">Our Menu</h3>
  <div class="range range-sm-center">
  <div class="cell-xs-12">
    <div class="cell-box">
      <ul class="isotope-filters-responsive">
        <li>
          <p>Choose your category:</p>
        </li>
        <li class="block-top-level"> 
          <!-- Isotope Filters-->
          <button data-custom-toggle="#isotope-1" data-custom-toggle-disable-on-blur="true" class="isotope-filters-toggle btn btn-primary-lighter btn-shape-circle">Categorias<span class="caret"></span></button>
          <div id="isotope-1" class="isotope-filters isotope-filters-buttons isotope-filters-buttons-primary-lighter">
            <ul class="inline-list">
	<?php
	$consultaCategoria = "SELECT a.idCatPrato, a.NomeCatPrato
	FROM tb_catpratos a
	WHERE a.idCatPrato in ( SELECT DISTINCT b.idCatPrato 
		FROM tb_pratos b
		WHERE b.idCatPrato = a.idCatPrato
		AND b.status = 's')
		ORDER BY a.NomeCatPrato";
	$resultadoCategoria = mysql_query($consultaCategoria) 
	or die("Erro ao acessar base de dados de categorias");
	while ($linhaCategoria = mysql_fetch_assoc($resultadoCategoria))
    {
	$idCatPrato = $linhaCategoria["idCatPrato"];	
	$NomeCatPrato = $linhaCategoria["NomeCatPrato"];
	echo"<li><a data-isotope-filter='$idCatPrato' data-isotope-group='gallery' href='#' class='btn-shape-circle btn active'>$NomeCatPrato</a></li>";	
} /*End while categoria*/
 ?>
            </ul>
          </div>
        </li>
      </ul>
    </div>
  </div>
  </div>
  <div class="cell-xs-12 offset-top-40"> 
    <!-- Isotope Content-->
    <div data-isotope-layout="fitRows" data-isotope-group="gallery" class="row isotope isotope-menu isotope-menu-offsets">
      <?php
/* Pratos */
	$consultaPratos = "SELECT a.idPrato, a.maisAmados, a.resumoPrato, a.tituloPrato, 
	a.valorB_Prato, b.foto
		FROM tb_pratos a
		LEFT JOIN galeria b ON b.idPrato = a.idPrato
		WHERE a.idCatPrato = $idCatPrato
		AND a.status = 's'";
	$resultadoPratos = mysql_query($consultaPratos) 
	or die("Erro ao acessar base de dados de pratos");;
	while ($linhaPratos = mysql_fetch_assoc($resultadoPratos))
	{
	$valorPrato = $linhaPratos["valorB_Prato"];
	$idPrato = $linhaPratos["idPrato"];
	$maisAmados = $linhaPratos["maisAmados"];
	$resumoPrato = $linhaPratos["resumoPrato"];
	$tituloPrato = $linhaPratos["tituloPrato"];
	$imagemProduto = $linhaPratos["foto"];
	if ($imagemProduto == ""){ 
	$imagemProduto = "no-image.png";
	}
	$foto = "../sistema/imagens/thumb/".$imagemProduto;
		echo "<div data-id='$idPrato' data-name='$tituloPrato' data-price='$valorPrato' data-qtde='1' data-filter='$idCatPrato' class='col-xs-12 col-sm-6 isotope-item'>
						<div class='thumbnail-menu-modern thumbnail-menu-modern-horizontal'>
							<div class='unit unit-lg-horizontal unit-spacing-sm unit-middle'>
								<div class='unit-left'>
									<figure>
										<img src='$foto' alt='' width='310' height='260' class='img-responsive'/>
									</figure>
								</div>
								<div class='unit-body'>
									<div class='caption text-center'>
										<h5>$tituloPrato</h5>
										<p class='text-italic'>$resumoPrato</p>";		  
										if ( $statusAtiva == "s") {			  
											echo "<a class=\"button white-btn clicked\" href=\"javascript:Cart('$idPrato', 'add');\">
													<span class='desk'>Adicionar</span>
													<span class='mob'><i class='fa fa-check'></i></span>
													</a>";
										}
											echo "<p class='price'>$valorPrato</p><a href='shop-single.html' class='btn btn-shape-circle btn-burnt-sienna offset-top-15'>Pedir</a>
									</div>
								</div>
							</div>
						</div>
					</div>";}		
				?>
  </div>
  </div>
  </div>
</section>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

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