Ir para conteúdo
Fórum Script Brasil
  • 0

Como printar tabela divida por tipo?


Tchello

Pergunta

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

  • 0

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 while

Espero que tenha entendido

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

$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 por Jefferson Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...