Ir para conteúdo

POWERED BY:

Arquivado

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

Fhantasma

While

Recommended Posts

Ola, sou iniciante em php, e estou desenvolvendo um sisteminha pra mim só que empaquei em uma coisa...

 

Gostaria de saber como eu faço um While de seguinte forma:

 

Consultar no banco de dados uma lista na categoria tal aonde ele mostrará somente uma vez a foto de cada item MAS existem itens diferentes mas com a mesma imagem...assim nao precisando repetir a img

 

exemplo:

 

Item 1

 

Item 01

Item 02

Item 03

 

-----------------------

 

Item 2

 

Item 01

Item 02

Item 03

 

e assim por diante...

 

ou seja vai ter ID do item e SUBID...agora como eu faço isso?

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica é mais ou menos assim...

// definimos a $imagem como vazia antes de iniciar.
$imagem = '';
while($row = mysql_fetch_assoc($qry))
{
    // aqui testamos. Se a $row['imagem'] for diferente da $imagem, imprime a $row['imagem'] e define $imagem = $row['imagem']
    // ou seja, vai imprimir na primeira iteração. Se na segunda iteração do while a $row['imagem'] for igual a primeira, não vai imprimir a imagem.
    if($row['imagem'] != $imagem)
    {
        echo '<img src="'.$row['imagem'].'"/>';
        $imagem = $row['imagem'];
    }
    echo 'Item '.$row['item'];
}

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa fazer um while pra cada produto... com uma consulta e alguns condicionais fazemos esta exibição.

 

Como está a estrutura das tabelas?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda nao criei a estrutura pois quero saber antes como vou fazer esse tipo de consulta...dai a partir da consulta eu vou criar a estrutura...

 

Mas pretendo criar mais ou menos assim

 

Tabela: Categorias

[idcategoria] [Nome da categoria]

 

Tabela: Item

[iditem] [Nome do item] [imgdoitem]

 

Tabela: Subitem

[subiditem] [Descrição do item]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na estrutura do item, você tem que dizer a qual categoria ele está ligado, e no subitem você tem que dizer a qual item ele está ligado também.

 

Na hora da consulta, você faria ordenado por categoria e depois por item.

 

Se a dúvida é na estrutura do banco de dados, o melhor é mover para o fórum de modelagem. Se a dúvida é na consulta, melhor mover para o fórum do banco de dados que você vai usar (Mysql, Postrgree, SqlServer...). Se a dúvida é na exibição dos itens depois da consulta pronta, aí podemos de ajudar aqui.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, aí vai depender do seu conhecimento em programação. Você vai precisar incluir, excluir, alterar e consultar no banco de dados, utilizando laços de repetição e condicionais (while, for, if, else, switch). Enfim, o básico de programação e uma boa dose de lógica.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, aí vai depender do seu conhecimento em programação. Você vai precisar incluir, excluir, alterar e consultar no banco de dados, utilizando laços de repetição e condicionais (while, for, if, else, switch). Enfim, o básico de programação e uma boa dose de lógica.

 

Carlos Eduardo

 

 

eu sei tudo isso ai que você citou faço numa boa o problema mesmo e mostrar 1 foto e varios itens dakela foto =\

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você vai ter que fazer uma consulta onde o resultado deverá ficar mais ou menos assim...

Imagem --- Item --- Subitem

Imagem1 --- Item1 --- Subitem1

Imagem1 --- Item1 --- Subitem2

Imagem1 --- Item1 --- Subitem3

Imagem1 --- Item2 --- Subitem1

Imagem1 --- Item2 --- Subitem2

Imagem1 --- Item2 --- Subitem3

Imagem2 --- Item1 --- Subitem1

Imagem2 --- Item1 --- Subitem2

Imagem2 --- Item1 --- Subitem3

Imagem2 --- Item2 --- Subitem1

Imagem2 --- Item2 --- Subitem2

Imagem2 --- Item2 --- Subitem3

 

Aí, você pega e no while faz algo assim...

// aqui definimos como sendo vazio as duas variáveis
$imagem = '';
$item = '';
while ($row = mysql_fetch_assoc($sql))
{
   // aqui testamos. Se $imagem for diferente (ou seja, se não for igual à última que foi exibida)
   if($imagem != $row['imagem'])
   {
      // aqui imprimimos
      echo '<h1><img src="'.$row['imagem'].'"/></h1>';
      // aqui definimos $imagem = a imagem exibida nesta iteração.
      // na próxima vez, ele vai passar por este if de novo. Se a $imagem for igual, não vai entrar
      // e não vai imprimir a imagem (que você não quer que imprima, porque é igual a anterior)
      $imagem = $row['imagem'];
   }
   // aqui para o item é a mesma lógica da imagem
   if($item != $row['item'])
   {
      echo '<h2>'.$row['item'].'</h2>';
      $item = $row['item'];
   }
   echo $row['subitem'];
}

Leia os comentários dentro do código que você vai compreender como funciona.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas como vou fazer a consulta no query em tables diferentes?

 

pq vai ter a table de categoria a table do item e a table do subitem

 

pra imprimir assim:

 

 

Imagem1

---

Item1

---

Subitem1

Subitem2

Subitem3

Subitem4

 

--------------------------------

 

 

Imagem2

---

Item2

---

Subitem1

Subitem2

Subitem3

Subitem4

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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