Ir para conteúdo

Arquivado

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

maurohpg

Listar categorias de pratos com erro

Recommended Posts

Boa tarde pessoal, estou montando um sistema de delivery, estou com um erro que não consigo achar, sei que é na montagem da programação abaixo.

Na página eu listo com botões os tipo de pratos, mais com essa programação abaixo só está listando a categoria de Yakisoba, as demais não listam os pratos, o que posso estar fazendo de errado na montagem?

 

<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

Olá!

Acredito que a busca pelas categorias deva ser no trecho:

5 hours ago, maurohpg said:

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

 

Uma das possibilidades é que naquele select dentro do WHERE a.idCatPrato in(SELECT ...) talvez esteja retornando uma única categoria cadastrada em tb_pratos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por iguulima
      Bom dia a todos, tenho em meu banco de dados uma tabela de pedidos, onde nesse pedidos estão salvos as id's dos produtos que foram selecionados pelo usuário, gostaria de saber se tem alguma forma utilizando um while que possa selecionar os produtos mais pedidos dessa tabela, não tenho ideia por onde começar. Consigo listar todos apenas mas não sei como selecionar os que são mais pedidos.
    • Por iguulima
      Ola a todos,
      Estou com uma dúvida e ja tentei de tudo que estão dentro das minhas limitações de conhecimento. Tenho um laço de repetição While sendo executado e quero que uma Variavel seja executada apenas uma vez dentro desse laço. Existe essa possibilidade. Obrigado a todos. Segue o código:

       
      <?php $consult = $row['id']; $sql = "SELECT * FROM upload_data WHERE USER_CODE = '$consult' ORDER BY id ASC"; $resultadoimg = mysql_query($sql); $numero_registros = mysql_num_rows($resultadoimg); while($registrosimg = mysql_fetch_array($resultadoimg)) { ?> <li data-target="#carousel-custom" data-slide-to="0" <?php ele precisa ser executado uma unica vez aqui?>><img src="" alt=""></li> <?php } ?>  
    • Por mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
    • Por eduardodsilvaq
      Não sei oq tem de errado.
       
      O erro:
      Notice: Undefined index: name in C:\AppServ\www\includes\functions.php on line 105 A linha do erro:
      <td width="106"><div class="fonte">'. $row["name"] .'</div></td> O codigo:
      function mini_ranking (){ $PDO = db_connect_gamedata(); $sql = "SELECT name baselevel FROM u_hero WHERE class <> '80' ORDER BY baselevel Desc Limit 6"; $result = $PDO->query($sql); $guild = $result->fetchAll(PDO::FETCH_ASSOC); $i = 1; echo '<table width="153" height="0" border="0">'; foreach($guild as $row) { echo '<tr> <td width="0" height="0" align="center"><div class="fonte">'. $i++ . '</div></td> <td width="106"><div class="fonte">'. $row["name"] .'</div></td> <td width="20"><div class="fonte">'. $row["baselevel"] .'</div></td> <tr>'; } echo '</table>'; }  
    • Por danilo759
      Estou precisando saber o percentual de imagens que está no diretório e estou com dificuldades. Alguém pode me ajudar dar uma luz?

       
      $qry_canal = $con->query("SELECT * FROM grade, dados WHERE grade.id = dados.id AND grade.canal IN('HBO','GLO','TNT') GROUP BY dados.titulo"); $counter = 0; while($rows = $qry_canal->fetch(PDO::FETCH_ASSOC)){ $id = $rows['id']; $sigla = $rows['canal']; $sk = substr($rows['sk'], 0, 14); // Busca total de programas por canal /* ---------------------------------------------------------------- */ $qry_b = $con->query("SELECT * FROM grade, dados WHERE grade.id = dados.id AND grade.canal LIKE '".$sigla."' GROUP BY dados.titulo"); $total_programas = $qry_b->rowCount(); if(empty($serieskey)) { $prog_id = "$id"; } else{ $prog_id = "$sk"; } // VERIFICA SE EXISTE IMAGEM /* ---------------------------------------------------------------- */ if(file_exists("/imagens/".$prog_id."_epg.jpg")){ $arr_img[] = "".$counter++.""; } $total_fotos = "".count($arr_img).""; echo "".($total_fotos * 100 ) / $total_programas."% <br />"; }  
×

Informação importante

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