Como exibir registros de database na visualização sem repetir um campo?

Na minha base de dados, eu tenho duas tabelas de uma política (política, política, política, tipo de identidade) e outros tipo-políticas (policy_type_id, policy_type).
Esta é a política da tabela

politics_id | politics | politics_type_id -------- | -------- | ------------- 1 | Politic 1 | 1 2 | hello world | 2 3 | magic | 1 4 | love |1 

Esta é a tabela tipo_politics

  politics_type_id | politics_type ------------- | -------- 1 | general 2 | life 

O que eu preciso é na visão para mostrar os registros da tabela política com o tipo de política como o header, mas o header não é repetido. Algo assim.

 **General** - Politic 1 - magic - love **Life** - hello world 

Trate de fazer a consulta com um grupo, mas mostra apenas um registro com political_type_id 1 . Este é o código de exibição.

  <?php for ($j = 0; $j  

Com este formulário, mostre os registros como este:

  **General** - Politic 1 **General** - magic **General** - love **Life** - hello world 

Espero que você possa me ajudar e que minha pergunta seja uma boa pergunta.

Parece que você quer que os headers sejam exibidos somente quando houver uma mudança no tipo de politics_type . Isso exigiria manter uma pista de seu valor em cada iteração e a lógica pode assim ser construída da seguinte maneira:

  

O layout do

s acima pode ou não ser exatamente como você precisa, mas espero que ele dê uma idéia sobre como usar a nova variável $previous_politics_type .

Se você fizer uma consulta como essa, então você receberá uma linha para o tipo, bem como a política atual:

 select tp.politics_type_id, tp.politics_type politics_text, null politics_id, 1 row_type from tipo_politics tp union select p.politics_type_id, p.politics politics_text, p.politics_id, 2 row_type from politics p order by politics_type_id, row_type, politics_id; 

Isso dá resultados como este:

 +------------------+---------------+-------------+----------+ | politics_type_id | politics_text | politics_id | row_type | +------------------+---------------+-------------+----------+ | 1 | general | | 1 | | 1 | Politic 1 | 1 | 2 | | 1 | magic | 3 | 2 | | 1 | love | 4 | 2 | | 2 | life | | 1 | | 2 | hello world | 2 | 2 | +------------------+---------------+-------------+----------+ 

Agora você pode percorrer os resultados e atuar apenas nas linhas de header (onde row_type = 1 ). Então dentro desse loop, faça outro loop e escolha as linhas de detalhes (onde row_type = 2 ).