Owner Postado Maio 28, 2009 Denunciar Share Postado Maio 28, 2009 Tenho o código abaixo que faz a consulta:mysql_select_db($database_vitrine_ads, $vitrine_ads); $query_lista_site_vitrine = sprintf("SELECT * FROM site INNER JOIN vitrine on (vitrine.id_site=site.id) WHERE site.id_usuario = %s", GetSQLValueString($colname_lista_site_vitrine, "int")); $query_limit_lista_site_vitrine = sprintf("%s LIMIT %d, %d", $query_lista_site_vitrine, $startRow_lista_site_vitrine, $maxRows_lista_site_vitrine); $lista_site_vitrine = mysql_query($query_limit_lista_site_vitrine, $vitrine_ads) or die(mysql_error()); $row_lista_site_vitrine = mysql_fetch_assoc($lista_site_vitrine); e esse mostra o resultado: <table border="0"> <?php do { ?> <tr> <td bgcolor="#FFCC00"><?php echo $row_lista_site_vitrine['nome_site']; ?></td> </tr> <tr> <td><?php echo $row_lista_site_vitrine['nome_vitrine']; ?></td> </tr> <?php } while ($row_lista_site_vitrine = mysql_fetch_assoc($lista_site_vitrine)); ?> </table>Só que mostra da seguinte forma:Nome Site 1-Vitrine 1Nome Site 1-Vitrine 2Nome Site 2-Vitrine 3Gostaria que fosse mostrado assim:Nome Site 1-Vitrine 1-Vitrine 2Nome Site 2-Vitrine 3Alguém poderia me dizer como faço para resolver isso, pois já usei Distinct e outros métodos e não resolveu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcus Nunes Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 Use o GROUP BY. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Owner Postado Maio 29, 2009 Autor Denunciar Share Postado Maio 29, 2009 Se eu usar GROUP BY para agrupar pelo nome do site ou id no resultado só vai mostrar uma vitrine por site:Nome Site 1-Vitrine 1-Vitrine 2 (ESSE RESULTADO É OCULTADO)Nome Site 2-Vitrine 3 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 i aew Owner, já tentou fazer algo assim:$nomeSite = ""; do { if ( $nomeSite != $row_lista_site_vitrine['nome_site'] ) { ?> <tr> <td bgcolor="#FFCC00"><?php echo $row_lista_site_vitrine['nome_site']; ?></td> </tr> <? } $nomeSite = $row_lista_site_vitrine['nome_site']; ?> <tr> <td><?php echo $row_lista_site_vitrine['nome_vitrine']; ?></td> </tr> <? } while ( $row_lista_site_vitrine = mysql_fetch_assoc( $lista_site_vitrine ) ); ?>espero que ajude, abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 i aew Owner, já tentou fazer algo assim:$nomeSite = ""; do { if ( $nomeSite != $row_lista_site_vitrine['nome_site'] ) { ?> <tr> <td bgcolor="#FFCC00"><?php echo $row_lista_site_vitrine['nome_site']; ?></td> </tr> <? } $nomeSite = $row_lista_site_vitrine['nome_site']; ?> <tr> <td><?php echo $row_lista_site_vitrine['nome_vitrine']; ?></td> </tr> <? } while ( $row_lista_site_vitrine = mysql_fetch_assoc( $lista_site_vitrine ) ); ?>espero que ajude, abraço! é simples basta você não colocar o site no laço lista site laça while for ou qualquer outro nome vitrinefecha laçao pronto o laço refaz todos os passos ate o fin da consulta por isso repete Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Owner Postado Maio 29, 2009 Autor Denunciar Share Postado Maio 29, 2009 Tentei mas só dá erro"Parse error: parse error, unexpected $end" na linha:<?php mysql_free_result($lista_site_vitrine); mysql_free_result($lista_vitrine);Só uma outra dúvida, como estou consultando a tabela site e vitrine, é necessário usar INNER JOIN? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Owner
Tenho o código abaixo que faz a consulta:
e esse mostra o resultado:Só que mostra da seguinte forma:
Nome Site 1
-Vitrine 1
Nome Site 1
-Vitrine 2
Nome Site 2
-Vitrine 3
Gostaria que fosse mostrado assim:
Nome Site 1
-Vitrine 1
-Vitrine 2
Nome Site 2
-Vitrine 3
Alguém poderia me dizer como faço para resolver isso, pois já usei Distinct e outros métodos e não resolveu.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.