Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera fiz um script para fazer um pulo de cores dos campos da tabela.
<?php
$data = "<a href='#'>XX/XX/XXXX</a>";
$manuntencao = "<a href='gerenciar_chamados.php'>MANUTENÇÃO CORRETIVA</a>";
$status = "<a href='#'>ABERTO</a>";
$cliente = "<a href='#'>CLIENTE</a>";
$equipamento = "<a href='#'>P1102W</a>";
$setor = "<a href='#'>ESTOQUE</a>";
// Dados a serem colocados na tabela
$dados = array(
array( "$data", "$manuntencao", "$status", "$cliente", "$equipamento", "$setor"),
);
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
$tabela = '<table>
<tr>
<td bgcolor="#085A8D" class="td_tabela">Data Abertura</td>
<td bgcolor="#085A8D" class="td_tabela">Tipo de Chamado</td>
<td bgcolor="#085A8D" class="td_tabela">Status</td>
<td bgcolor="#085A8D" class="td_tabela">Cliente</td>
<td bgcolor="#085A8D" class="td_tabela">Equipamento</td>
<td bgcolor="#085A8D" class="td_tabela">Setor</td>
</tr>';
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
// alimenta a tabela com os dados
$tabela .= '
<tr class="'. $cor .'">
<td>'. $dados[$i][0] .'</td>
<td>'. $dados[$i][1] .'</td>
<td>'. $dados[$i][2] .'</td>
<td>'. $dados[$i][3] .'</td>
<td>'. $dados[$i][4] .'</td>
<td>'. $dados[$i][5] .'</td>
</tr>';
}
// finaliza o html da tabela
$tabela .= '</table>';
echo $tabela;
?>
ate ai tudo bem..... ai eu preciso buscar as informações do banco de dados e fazer um loop em um "while"... mas a situação e a seguinte tentei varias formas de fazer esse loop mais não deu certo uma hora deu mais ele repetiu a tabela toda, tentei novamente deu certo mais ele não fez a repetição de cores... alguém sabe oque pode estar acontecendo? se souber posta ai. vlw abraço
>
Aqui. O problema está nessa linha:
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
// Ele repete varias vezes o head da tabela.
$tabela .= '
<tr class="'. $cor .'">
<td>'. $dados[$i][0] .'</td>
<td>'. $dados[$i][1] .'</td>
<td>'. $dados[$i][2] .'</td>
<td>'. $dados[$i][3] .'</td>
<td>'. $dados[$i][4] .'</td>
<td>'. $dados[$i][5] .'</td>
</tr>';
}
// finaliza o html da tabela
$tabela .= '</table>';
Altere essa linha.
$tabela = '<table>
Remova o **<table>** e coloque esse código:
echo "<table>";
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
// Ele repete varias vezes o head da tabela.
$tabela .= '
<tr class="'. $cor .'">
<td>'. $dados[$i][0] .'</td>
<td>'. $dados[$i][1] .'</td>
<td>'. $dados[$i][2] .'</td>
<td>'. $dados[$i][3] .'</td>
<td>'. $dados[$i][4] .'</td>
<td>'. $dados[$i][5] .'</td>
</tr>';
}
// finaliza o html da tabela
$tabela .= '</table>';
Vê se conserta. ;)
nao ele nao da certo eu vou fazer tudo dinamicamente ex:
<?php
$chamados = mysql_query("SELECT id_chamado, id_cliente, id_equipamento, tipo, data_abertura, status, setor FROM crm_chamados")
or die (mysql_error());
$contagem = mysql_num_rows($chamados);
if($contagem <= '0'){
echo "Não existe Nenhum Chamado ate este momento";
}else{
while ($res = mysql_fetch_array($chamados)){
$id_chamado = $res [0];
$id_cliente = $res [1];
$id_equipamento = $res [2];
$tipo = $res [3];
$data_abertura = $res [4];
$status = $res [5];
$setor = $res [6];
// Dados a serem colocados na tabela
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor"),
);
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
$tabela = '<table>
<tr>
<td bgcolor="#085A8D" class="td_tabela">Data Abertura</td>
<td bgcolor="#085A8D" class="td_tabela">Tipo de Chamado</td>
<td bgcolor="#085A8D" class="td_tabela">Status</td>
<td bgcolor="#085A8D" class="td_tabela">Cliente</td>
<td bgcolor="#085A8D" class="td_tabela">Equipamento</td>
<td bgcolor="#085A8D" class="td_tabela">Setor</td>
</tr>';
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
// alimenta a tabela com os dados
$tabela .= '
<tr class="'. $cor .'">
<td>'. $dados[$i][0] .'</td>
<td>'. $dados[$i][1] .'</td>
<td>'. $dados[$i][2] .'</td>
<td>'. $dados[$i][3] .'</td>
<td>'. $dados[$i][4] .'</td>
<td>'. $dados[$i][5] .'</td>
</tr>';
}
// finaliza o html da tabela
$tabela .= '</table>';
}
}
echo $tabela;
?>
so que assim ele ia repetir a tabela toda ai eu fiz assim :
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
$tabela = '<table>
<tr>
<td bgcolor="#085A8D" class="td_tabela">Data Abertura</td>
<td bgcolor="#085A8D" class="td_tabela">Tipo de Chamado</td>
<td bgcolor="#085A8D" class="td_tabela">Status</td>
<td bgcolor="#085A8D" class="td_tabela">Cliente</td>
<td bgcolor="#085A8D" class="td_tabela">Equipamento</td>
<td bgcolor="#085A8D" class="td_tabela">Setor</td>
</tr>';
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
$chamados = mysql_query("SELECT id_chamado, id_cliente, id_equipamento, tipo, data_abertura, status, setor FROM crm_chamados")
or die (mysql_error());
$contagem = mysql_num_rows($chamados);
if($contagem <= '0'){
echo "Não existe Nenhum Chamado ate este momento";
}else{
while ($res = mysql_fetch_array($chamados)){
$id_chamado = $res [0];
$id_cliente = $res [1];
$id_equipamento = $res [2];
$tipo = $res [3];
$data_abertura = $res [4];
$status = $res [5];
$setor = $res [6];
// Dados a serem colocados na tabela
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor"),
);
// alimenta a tabela com os dados
$tabela .= '
<tr class="'. $cor .'">
<td>'. $dados[$i][0] .'</td>
<td>'. $dados[$i][1] .'</td>
<td>'. $dados[$i][2] .'</td>
<td>'. $dados[$i][3] .'</td>
<td>'. $dados[$i][4] .'</td>
<td>'. $dados[$i][5] .'</td>
</tr>';
}
// finaliza o html da tabela
$tabela .= '</table>';
}
}
echo $tabela;
so que ai ele nao faiz o meu loop... na sei oque possa estar errado ai mais..
Nesse linha:
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor"),
);
Porque colocou entre "" ( Aspas ) as variáveis?
Ele não faz o Looping? Dá algum erro?
Utilize var_dump para debuggar e... Não seria mais fácil assim?
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
$tabela = '<table>
<tr>
<td bgcolor="#085A8D" class="td_tabela">Data Abertura</td>
<td bgcolor="#085A8D" class="td_tabela">Tipo de Chamado</td>
<td bgcolor="#085A8D" class="td_tabela">Status</td>
<td bgcolor="#085A8D" class="td_tabela">Cliente</td>
<td bgcolor="#085A8D" class="td_tabela">Equipamento</td>
<td bgcolor="#085A8D" class="td_tabela">Setor</td>
</tr>';
$chamados = mysql_query("SELECT id_chamado, id_cliente, id_equipamento, tipo, data_abertura, status, setor FROM crm_chamados")
or die (mysql_error());
$contagem = mysql_num_rows($chamados);
if($contagem <= '0') echo "Não existe Nenhum Chamado ate este momento";
} $i = 0;
while ($res = mysql_fetch_array($chamados)){
// Pula cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
$id_chamado = $res [0];
$id_cliente = $res [1];
$id_equipamento = $res [2];
$tipo = $res [3];
$data_abertura = $res [4];
$status = $res [5];
$setor = $res [6];
// Foi removido o array desnecessário
$tabela .= '
<tr class="'. $cor .'">
<td>'. $id_chamado .'</td>
<td>'. $id_cliente .'</td>
<td>'. $id_equipamento .'</td>
<td>'. $tipo .'</td>
<td>'. $data_abertura .'</td>
<td>'. $status .'</td>
</tr>';
// Incrementa o i de acordo com a quantidade de registros
$i++;
}
// finaliza o html da tabela
$tabela .= '</table>';
}
echo $tabela;
Notes:
Foi removido o FOR desnecessário e colocado um contador dentro do verdadeiro loop.
Removido a linha
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor")
também desnecessária.
Substitua o código que postei pelo código que eu alterei e veja se ocorreu alguma mudança.
Acredito que o erro estava vindo daquele for, porque não vinha dado algo da variável $dados.
Se não funcionar dá um grito. :thumbsup:
>
Nesse linha:
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor"),
);
Porque colocou entre "" ( Aspas ) as variáveis?
Ele não faz o Looping? Dá algum erro?
Utilize var_dump para debuggar e... Não seria mais fácil assim?
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
$tabela = '<table>
<tr>
<td bgcolor="#085A8D" class="td_tabela">Data Abertura</td>
<td bgcolor="#085A8D" class="td_tabela">Tipo de Chamado</td>
<td bgcolor="#085A8D" class="td_tabela">Status</td>
<td bgcolor="#085A8D" class="td_tabela">Cliente</td>
<td bgcolor="#085A8D" class="td_tabela">Equipamento</td>
<td bgcolor="#085A8D" class="td_tabela">Setor</td>
</tr>';
$chamados = mysql_query("SELECT id_chamado, id_cliente, id_equipamento, tipo, data_abertura, status, setor FROM crm_chamados")
or die (mysql_error());
$contagem = mysql_num_rows($chamados);
if($contagem <= '0') echo "Não existe Nenhum Chamado ate este momento";
} $i = 0;
while ($res = mysql_fetch_array($chamados)){
// Pula cores
( $i % 2 == 0 ) ? $cor = $cor1 : $cor = $cor2;
$id_chamado = $res [0];
$id_cliente = $res [1];
$id_equipamento = $res [2];
$tipo = $res [3];
$data_abertura = $res [4];
$status = $res [5];
$setor = $res [6];
// Foi removido o array desnecessário
$tabela .= '
<tr class="'. $cor .'">
<td>'. $id_chamado .'</td>
<td>'. $id_cliente .'</td>
<td>'. $id_equipamento .'</td>
<td>'. $tipo .'</td>
<td>'. $data_abertura .'</td>
<td>'. $status .'</td>
</tr>';
// Incrementa o i de acordo com a quantidade de registros
$i++;
}
// finaliza o html da tabela
$tabela .= '</table>';
}
echo $tabela;
Notes:
Foi removido o FOR desnecessário e colocado um contador dentro do verdadeiro loop.
Removido a linha
$dados = array(
array( "$data_abertura", "$tipo", "$status", "$cliente", "$id_equipamento", "$setor")
também desnecessária.
Substitua o código que postei pelo código que eu alterei e veja se ocorreu alguma mudança.
Acredito que o erro estava vindo daquele for, porque não vinha dado algo da variável $dados.
Se não funcionar dá um grito. :thumbsup:
Cara funcionou mt obrigado msm, pensei que teria como fazer um loop e um array... mas deixa pra la mt obrigado e se tiver duvidas ai posta ai se eu souber vou ter prazer em ajuda-lo!
Que isso rapaz, pra isso que funciona fórum ! ^^.
Fico feliz que tenha te ajudado, qualquer coisa pode mandar PM que eu respondo também, conhecimento foi feito para ser compartilhado. :D
:yay:
>
Olá galera fiz um script para fazer um pulo de cores dos campos da tabela.
// Dados a serem colocados na tabela
$dados = array(
array( "$data", "$manuntencao", "$status", "$cliente", "$equipamento", "$setor"),
);
$cor1 = 'cor1'; // Nome da classe da cor 1
$cor2 = 'cor2'; // Nome da classe da cor 2
// Início da tabela
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
ate ai tudo bem..... ai eu preciso buscar as informações do banco de dados e fazer um loop em um "while"... mas a situação e a seguinte tentei varias formas de fazer esse loop mais não deu certo uma hora deu mais ele repetiu a tabela toda, tentei novamente deu certo mais ele não fez a repetição de cores... alguém sabe oque pode estar acontecendo? se souber posta ai. vlw abraço
Aqui. O problema está nessa linha:
for ( $i=0; $i < count($dados); $i++ )
{
// pulo de cores
// finaliza o html da tabela
$tabela .= '</table>';
Altere essa linha.
for ( $i=0; $i < count($dados); $i++ ) { // pulo de cores// finaliza o html da tabela
$tabela .= '</table>';
Vê se conserta. ;)