Newsgroup: it.comp.www.php
Titolo: colore righe alernate

salve,
vorrei evidenziare le righe in modo alternato, magari colorando quelle 
dispari con un colore di sfondo (grigio) e quelle pari di un'altro (nero)
Io prelievo i dati utilizzando qualcosa del genere :
$sql="SELECT * FROM amici";
$risultato = mysql_query($sql,$connessione) or die (errore_server());
$row=mysql_fetch_array($risultato);
<table>
<?
  do{ ?>
   <tr>
     <td><?php echo $row['id']; ?></td>
     <td><?php echo $row['nome']; ?></td>
     <td><?php echo $row['cognome']; ?></td>
   </tr>
<? } while ($row = mysql_fetch_array($risultato)); ?>
</table>
quale suggerimento su come modificarlo?
thx




	$bgColor = '#c0c0c0';
	while($row = mysql_fetch_array($risultato))
	{
		$bgColor = $bgColor == '#c0c0c0' ? '#000000' : '#c0c0c0';
		print <<< RIGA
<tr bgcolor="$bgColor">
	<td>$row[id]</td>
	<td>$row[nome]</td>
	<td>$row[cognome]</td>
</tr>
RIGA;
	}
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio

 $bgColor = $bgColor == '#c0c0c0' ? '#000000' : '#c0c0c0';
forse qui c'é l'errore.
thx

> > $bgColor = $bgColor == '#c0c0c0' ? '#000000' : '#c0c0c0';
bgcolor uguale a ( se bgcolor è uguale a #c0c0c0 metti #000000 altrimenti
metti #c0c0c0)
ciaoo

 thx
<?
$bgcolor = "#01";
do{
if ($bgcolor == "#01")
{
echo "
<tr bgcolor=\"#01\">
     <td>$row['id']</td>
     <td>$row['nome']</td>
     <td>$row['cognome']</td>
</tr>";
$bgcolor = "#02";
}
elseif ($bgcolor == "#02")
{
echo "
<tr bgcolor=\"#02\">
     <td>$row['id']</td>
     <td>$row['nome']</td>
     <td>$row['cognome']</td>
</tr>";
$bgcolor = "#01";
}
} while ($riga = mysql_fetch_array($risultato));
?>

 thx
Allora...
1.) Imposti due variabile contenete il valore del colori che vuoi utilizzare
(ad esempio $col1 , $col2 ).
2.) Imposti un variabile booleana  con valore "True" ( ad esempio $bool ).
3.) Nel ciclo controlli il valore della variabile booleana ed associ $col1
se Vera , $col2 se Falsa
4.) Una volta associato il colore alla riga in esame nel ciclo cambi la
variabile booleana nel suo opposto.
     ( se all'inizio della fase del ciclo e True la imposti a False o
viceversa )
buon divertimento nella stesura del codice...
Ciao

ps .. magari le  "<td>" da stampare sparale dentro una variabile così poi
devi modificarle una sola volta nel caso ti servisse farlo.

 $risultato = mysql_query($sql,$connessione) or die (errore_server());
<table>
<?php
    $i = '';
    while ($row = mysql_fetch_array($risultato)) {
    $i++;
    $bgcolor  = $i%2 ? '#666666' : '#F5F5F5' ;
?>
    <tr bgcolor="<?=$bgcolor;?>">
    <td><?php echo $row['id']; ?></td>
    <td><?php echo $row['nome']; ?></td>
    <td><?php echo $row['cognome']; ?></td>
    </tr>
<?
    }
?>
    </table>
Saluti
Corrado Modica
www.pachinoglobale.com

>dispari con un colore di sfondo (grigio) e quelle pari di un'altro (nero)
Grazie a tutti... ora funziona alla grande 8)

forse qui c'é l'errore.
Mi sa che ho cannato una precedenza. Prova:
	$bgColor = ('#c0c0c0' == $bgColor) ? '#000000' : '#c0c0c0';
Se bgColor e' #c0c0c0, gli assegna #000000; altrimenti #c0c0c0.
Al primo giro bgColor e' #c0c0c0, diventa #000000 e hai una riga nera.
Al secondo giro bgColor e' #000000, quindi diventa #c0c0c0: grigio. Al
terzo giro si ricomincia.
Leonardo e un impegno preciso: dormire di piu'
