Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 290

Repetição de categorias no menu

11-04-2014 18:19

Olá,
estou com um problema no menu de um site mas preciso que alguém me ajude,

pagina:
http://coisasdabisa.com.br/novosite/ind ... ge=comprar

reparem que no menu há uma repetição:

Acessórios
»Cerâmicas

Acessórios
»Instrumentos Musicais

Brinquedos
»Meninos

Latas
»Cerveja

Revistas
»Revista Manchete

Veículos motorizados
»Motocicletas

Veículos motorizados
»Scooters


mas o que queria era o seguinte:

Acessórios
»Cerâmicas
»Instrumentos Musicais

Brinquedos
»Meninos

Latas
»Cerveja

Revistas
»Revista Manchete

Veículos motorizados
»Motocicletas

Veículos motorizados
»Scooters

que a categoria " Acessórios " quando há mais de uma subcategoria ela não se repita como está na página.

segue o script como está pra entender melhor:

<?php require_once('Connections/bdb.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")  {   if (PHP_VERSION < 6) {     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;   }   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);   switch ($theType) {     case "text":       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";       break;         case "long":     case "int":       $theValue = ($theValue != "") ? intval($theValue) : "NULL";       break;     case "double":       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";       break;     case "date":       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";       break;     case "defined":       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;       break;   }   return $theValue; } } mysql_select_db($database_bdb, $bdb); $query_menu = "SELECT bdb_bancodedados.job_categoria, bdb_bancodedados.job_subcategoria AS job_subcategoria_1,  sumbdb_bancodedados.id)  AS sum_id_1 FROM bdb_bancodedados GROUP BY bdb_bancodedados.job_categoria,  bdb_bancodedados.job_subcategoria "; $menu = mysql_query($query_menu, $bdb) or die(mysql_error()); $row_menu = mysql_fetch_assoc($menu); $totalRows_menu = mysql_num_rows($menu); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <div id="destaque-left2" style="float:left;">   <div id="destaque-left2-content" style="width:310px; height:auto; padding-bottom:25px; text-align:left;">                                                                   <h3>Selecione<br /><strong>uma Categoria</strong></h3><br />                         <br />                         <?php do { ?> <div style="text-align:left;">       <a class="link_categoria" href="comprar_antiguidades_ctg.php?categoria=<?php echo $row_menu['job_categoria']; ?>" target="_self"> <?php echo $row_menu['job_categoria']; ?></a><br />                                        <a class="link_subcategoria" href="comprar_antiguidades_sctg.php?subcategoria=<?php echo $row_menu['job_subcategoria_1']; ?>" target="_self"> &raquo;<?php echo $row_menu['job_subcategoria_1']; ?></a><br />                             <br /></div>                           <?php } while ($row_menu = mysql_fetch_assoc($menu)); ?>   </div>                 </div> </body> </html> <?php mysql_free_result($menu); ?>

Grato;

MOVIDO PARA MYSQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Repetição de categorias no menu

11-04-2014 18:29

Como está sua tabela?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 290

Repetição de categorias no menu

12-04-2014 10:36

separadas,


Categoria:

id
categoria

Subcategoria

id
subcategoria
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Repetição de categorias no menu

12-04-2014 13:04

Dá uma olhada nesse artigo http://mikehillyer.com/articles/managin ... -in-mysql/

É em inglês, mas explica muito bem sobre a hierarquia das tabelas dando exemplos da query a ser aplicada.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17563
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Repetição de categorias no menu

13-04-2014 17:31

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 290

Repetição de categorias no menu

23-04-2014 13:15

nos exemplos acima não obtive exito, porem iniciando em php

as tabelas ficaram assim:

Categorias:
id
categoria

Subcategorias:


id
subcategoria
id_categoria


resultado:

<?php mysql_select_db($database_bdb, $bdb); $query_sub = "SELECT categoria.*, subcategoria.subcategoria AS subcategoria_1, count(subcategoria.subcategoria) AS count_subcategoria_1 FROM  (categoria LEFT JOIN subcategoria ON subcategoria.id_categoria=categoria.id)  GROUP BY subcategoria.subcategoria, categoria.id, categoria.categoria  HAVING count(subcategoria.subcategoria)=subcategoria"; $sub = mysql_query($query_sub, $bdb) or die(mysql_error()); $row_sub = mysql_fetch_assoc($sub); $totalRows_sub = mysql_num_rows($sub); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php do { ?>   <p><?php echo $row_sub['categoria']; ?></p>   <p> <?php echo $row_sub['subcategoria']; ?></p>   <?php } while ($row_sub = mysql_fetch_assoc($sub)); ?> </body> </html> <?php mysql_free_result($sub); ?>

só não obtive exito para as subs ficarem em cada categoria correspondente sem que as categorias se repitam

agradeço a atenção
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 290

Repetição de categorias no menu

23-04-2014 14:20

resolvido !!!

<ul>          <?php     $seleciona_categoria = mysql_query("SELECT * FROM categoria ORDER BY id DESC");     while($ln = mysql_fetch_array($seleciona_categoria)){         $id_categoria = $ln['id'];     ?>     <li><a href="#"><?php echo $ln['categoria']; ?></a></li>     <?php     $seleciona_subcategoria = mysql_query("SELECT * FROM subcategoria WHERE id_categoria = '$id_categoria'");     if(mysql_num_rows($seleciona_subcategoria) == 0 ){         }else{                  ?>     <ul>     <?php     while($lsubcategoria = mysql_fetch_array($seleciona_subcategoria)){     ?>         <li>         <a href="#"><?php echo $lsubcategoria['subcategoria'] ?></a>         </li>         <?php }?>     </ul>     <?php }?>     </li>     <?php }?>      </ul>

:)
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado