Ir para conteúdo

POWERED BY:

Arquivado

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

Siriusred

[Resolvido] Exibição de dados quebrados

Recommended Posts

Oi pessoal é assim... tenho uma página que me mostra 2 selects pra refinar os dados...

 

algo tipo se vai exibir todos os dados ou só os selecionados...

Queria que quando o kra selecionace "exibir todos"

Na página seguinte ele exibice todos, mas quebranco a linha, ou seja, deixando um espaço quando o dado de uma determinada coluna for diferente...

 

Exemplo:

 

Data

00/00/0000 RJ Teste 15,00

00/00/0000 RJ Teste2 15,50

 

00/00/0000 SP Teste3 10,00

00/00/0000 SP Teste4 10,00

00/00/0000 SP Teste5 11,00

 

00/00/0000 MG Teste3 10,00

00/00/0000 MG Teste3 10,00

00/00/0000 MG Teste3 10,00

 

 

Deu pra entender? quebrace a linha sempre q o estado fosse diferente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já tentou fazer algo no PHP?

 

Poderia mostrar o seu código PHP pra gente corrigir?

 

No aguardo... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

N sei nem por onde começar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pelo menos saber fazer uma listagem de dados do MySQL pelo PHP? Se você souber, faça e mostre o código, pois aí a gente pode te ajudar.

 

Não estamos aqui pra montar o código todo pra você, apenas vamos auxiliar.

 

Se você não sabe por onde começar, leia isto!

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu pra entender? quebrace a linha sempre q o estado fosse diferente...

a única dúvida é essa ?

 

ou você também não sabe como listar dados provindos do banco de dados, usar html, etc ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar o código abaixo do que ta pronto, vê se ajuda:

 

<?php
$conexao = mysql_connect("$hostname_localhost", "$username_localhost", "$password_localhost") or die(mysql_error());
$db = mysql_select_db("$database_localhost");

// SE ESCOLHER TODAS NO CAMPO DE COMARCAS
if($comarcas == 1){
$selec = "SELECT * FROM pautas WHERE (pautas.data = '$data_inicial') ORDER BY pautas.horario ASC ";
$exec = mysql_query($selec, $conexao) or die(mysql_error());
$total = mysql_num_rows($exec);
 
while($dados=mysql_fetch_array($exec)) {
// exibindo os dados encontrados
if($dados[preposto] == 1) {
$dados[preposto] = "Sim";
}
else{
$dados[preposto] = "Não";
}
echo "
<table width='980' border='0'>
<td width = '100'>
$dados[data]
</td>
<td width = '60'>
$dados[horario]
</td>
<td width = '120'>
$dados[comarca]
</td>
<td width = '150'>
$dados[id_processo]
</td>
<td width = '30'>
$dados[tipo]
</td>
<td width = '100'>
$dados[reclamante]
</td>
<td width = '100'>
$dados[reclamado]
</td>
<td width = '100'>
$dados[caso]
</td>
<td width = '100'>
$dados[advogado]
</td>
<td width = '100'>
$dados[preposto]
</td>

</table>
";
}



echo "Para esses critérios foram encontrados $total resultado(s).";
}



// AQUI COMEÇA SE A CONDIÇÃO FOR FALSA
elseif($comarcas != "1"){

$selec = "SELECT * FROM pautas WHERE (pautas.data = '$data_inicial') and (pautas.comarca = '$comarcas') ORDER BY pautas.horario ASC ";
$exec = mysql_query($selec, $conexao) or die(mysql_error());
$total = mysql_num_rows($exec);
 
while($dados=mysql_fetch_array($exec)) {
// exibindo os dados encontrados
if($dados[preposto] == 1) {
$dados[preposto] = "Sim";
}
else{
$dados[preposto] = "Não";
}
echo "
<table width='980' border='0'>
<td width = '100'>
$dados[data]
</td>
<td width = '60'>
$dados[horario]
</td>
<td width = '120'>
$dados[comarca]
</td>
<td width = '150'>
$dados[id_processo]
</td>
<td width = '30'>
$dados[tipo]
</td>
<td width = '100'>
$dados[reclamante]
</td>
<td width = '100'>
$dados[reclamado]
</td>
<td width = '100'>
$dados[caso]
</td>
<td width = '100'>
$dados[advogado]
</td>
<td width = '100'>
$dados[preposto]
</td>

</table>
";
}



echo "Para esses critérios foram encontrados $total resultado(s).";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que se você quer exibir separadamente o melhor seria fazer categorias. Tipo combobox para os estados.

Mas caso você não queira fazer assim basta você armazenar todos os resultados vindos do db num array (sem imprimilo na tela), ai você pode fazer um loop para exibilo, ai depois de exibido (dentro do loop ainda) você pode avançar um array para checar com o anterior se eles são iguais caso seja você insere uma linha em branco, caso contrario continua o loop normalmente.

 

E outra coisa: O seu código está mal feito. Dentro do "echo" você está fazendo o PHP pensar como ele deve tratar seus indices, não faça isso:

echo "(...)$dados[horario](...)";

Faça assim:

 

echo "(...)    {$dados['horario']}   (...)";

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Siriusred

 

a sua dúvida é referente a lógica de programação

 

antes de iniciar o loop, armazene um valor nulo que representará o cache do valor do registro que deseja acondicionar.

 

dentro do loop, crie uma condicional para analisar o fluxo.

 

exemplo prático (crie um novo arquivo e execute para entender a lógica):

 

loop-for-dummys.php

<?php

$arr = array( 1 => 'a', 2 => 'a', 4 => 'a', 4 => 'a', 5 => 'a', 6 => 'a' );

$c = false;
foreach( $arr as $k => $v )
{
    if( $k != $c )
    {
        echo '<hr>';
        echo '<b>' . $k . '<b>';
        $c = $k;
    }
    echo '<br>';
    echo $v;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, entendi a lógica, só que aí ele ta definido no manual os valores... n to manjando de fazer isso dinamicamente...

 

Manual:

$arr = array( 1 => 'a', 2 => 'a', 4 => 'a', 4 => 'a', 5 => 'a', 6 => 'a' );

 

Dinamico? acho que seria algo assim:

$arr = array($dados[comarca]);

 

 

Siriusred

 

a sua dúvida é referente a lógica de programação

 

antes de iniciar o loop, armazene um valor nulo que representará o cache do valor do registro que deseja acondicionar.

 

dentro do loop, crie uma condicional para analisar o fluxo.

 

exemplo prático (crie um novo arquivo e execute para entender a lógica):

 

loop-for-dummys.php

<?php

$arr = array( 1 => 'a', 2 => 'a', 4 => 'a', 4 => 'a', 5 => 'a', 6 => 'a' );

$c = false;
foreach( $arr as $k => $v )
{
    if( $k != $c )
    {
        echo '<hr>';
        echo '<b>' . $k . '<b>';
        $c = $k;
    }
    echo '<br>';
    echo $v;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, entendi a lógica, só que aí ele ta definido no manual os valores... n to manjando de fazer isso dinamicamente...

 

Manual:

$arr = array( 1 => 'a', 2 => 'a', 4 => 'a', 4 => 'a', 5 => 'a', 6 => 'a' );

 

Dinamico? acho que seria algo assim:

$arr = array($dados[comarca]);

nesse caso, a dúvida foge do contexto do tópico.

 

a dúvida principal foi sanada, certo ?

 

o tópico será marcado como Resolvido

 

 

em relação a sua dúvida, é uma questão muito básica.

 

o exemplo que postei acima, é apenas um escopo, os dados podem provir de qualquer fonte.

 

apenas utilize raciocínio lógico para adequar às suas necessidades

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, mas se eu tivesse conseguido imaginar o raciocinio lógico para esse meu caso eu nem tinha aberto esse tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ressucitando isso aqui...

 

Precisava que alguem postasse pelo menos um exemplo disso...

 

o meu formulário pega os dados de um combobox que por sua vez pega os dados de uma tabela no mysql... será q ngm manja? não quero que façam por mim, mas que me deem exemplos uteis pro meu caso, dinamico, não valores fixo.

 

Acho que se você quer exibir separadamente o melhor seria fazer categorias. Tipo combobox para os estados.

Mas caso você não queira fazer assim basta você armazenar todos os resultados vindos do db num array (sem imprimilo na tela), ai você pode fazer um loop para exibilo, ai depois de exibido (dentro do loop ainda) você pode avançar um array para checar com o anterior se eles são iguais caso seja você insere uma linha em branco, caso contrario continua o loop normalmente.

 

E outra coisa: O seu código está mal feito. Dentro do "echo" você está fazendo o PHP pensar como ele deve tratar seus indices, não faça isso:

echo "(...)$dados[horario](...)";

Faça assim:

 

echo "(...)    {$dados['horario']}   (...)";

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

[]'s

 

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.