Tchello Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 tenho uma tabela que retorna:$sql = SELECT cliente, tipo, valor FROM clientes;Cliente | Tipo | ValorCliente 1 - tipo A - 100,00Cliente 2 - tipo B - 200,00Cliente 3 - tipo C - 500,00Cliente 4 - tipo A - 500,00Cliente 5 - tipo B - 100,00Cliente 6 - tipo C - 200,00Total - 1.600,00Só que gostaria de printar na tela da seguinte maneira:Cliente | Tipo | ValorClientes Tipo A:Cliente 1 - tipo A - 100,00Cliente 4 - tipo A - 500,00Total - 600,00Clientes Tipo B:Cliente 2 - tipo B - 200,00Cliente 5 - tipo B - 100,00Total - 300,00Clientes Tipo C:Cliente 3 - tipo C - 500,00Cliente 6 - tipo C - 200,00Total - 700,00Alguém sabe como posso fazer isso???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 Boa Noite.Na sua query, ($sql = SELECT cliente, tipo, valor FROM clientes;),faça assim: $sql = SELECT cliente, tipo, valor FROM clientes ORDER BY tipo;Então você terá separados por tipos.Mas se você quer que apareça o nome dos tiposuma única vez e depois as linhas conforme acima, sugiro que construa 2 WHILES.Exemplo:WHILE ($resul_sql=mysql_fetch_array($exe_sql)){IF($resul_sql[tipo]!=$volta){ $volta =$resul_sql[tipo]; //Aqui você constrói uma outra consulta: $reconsulta= SELECT cliente, tipo, valor FROM clientes WHERE tipo='$resul_sql[tipo]'; $exe_reconsulta = mysql_query($reconsulta); WHILE($resul_reconsulta=mysql_fetch_array($exe_reconsulta)){ //Acho que daqui para a frente você já sabe }}//Final do IF}//final do Primeiro whileEspero que tenha entendidoAbraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jefferson Oliveira Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 (editado) $sql = "SELECT cliente, tipo, valor FROM clientes GROUP BY tipo";Acho que esse aqui não é seu caso.O seu caso você faria uma class Editado Março 30, 2011 por Jefferson Oliveira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jefferson Oliveira Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 A class ficaria assim!<?PHP class clientes{ var $id; var $nome; var $tipo; var $valor; function pegaportipo(){ $sql = mysql_query("SELECT * FROM clientes WHERE tipo = '".$this->tipo."' "); $x=0; while($row = mysql_fetch_object($sql)){ $lista[$x] = array(id=>$row->id,nome=>$row->nome,tipo=>$row->tipo,valor=>$row->valor); $x++; } return $lista; } } #DEPOIS DE CRIAR AS CLASSES VAMOS ISTANCIA-LAS $_cli = new clientes(); #VAMOS SUPOR QUE AQUI É O TIPO A $_cli->tipo = 1; $dadostipo = $_cli->pegaportipo(); foreach($dadostipo as $tipo1){ print $tipo1["nome"] . " > " . $tipo1["tipo"] . " > " . $tipo1["valor"]; } #VAMOS SUPOR QUE AQUI É O TIPO B $_cli->tipo = 2; $dadostipo = $_cli->pegaportipo(); foreach($dadostipo as $tipo1){ print $tipo1["nome"] . " > " . $tipo1["tipo"] . " > " . $tipo1["valor"]; } # E ASSIM SUCESSIVAMENTE!! ?>Espero que tenha entendido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tchello
tenho uma tabela que retorna:
$sql = SELECT cliente, tipo, valor FROM clientes;
Cliente | Tipo | Valor
Cliente 1 - tipo A - 100,00
Cliente 2 - tipo B - 200,00
Cliente 3 - tipo C - 500,00
Cliente 4 - tipo A - 500,00
Cliente 5 - tipo B - 100,00
Cliente 6 - tipo C - 200,00
Total - 1.600,00
Só que gostaria de printar na tela da seguinte maneira:
Cliente | Tipo | Valor
Clientes Tipo A:
Cliente 1 - tipo A - 100,00
Cliente 4 - tipo A - 500,00
Total - 600,00
Clientes Tipo B:
Cliente 2 - tipo B - 200,00
Cliente 5 - tipo B - 100,00
Total - 300,00
Clientes Tipo C:
Cliente 3 - tipo C - 500,00
Cliente 6 - tipo C - 200,00
Total - 700,00
Alguém sabe como posso fazer isso????
Link para o comentário
Compartilhar em outros sites
3 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.