Errore in un ciclo...

  • Creatore Discussione Creatore Discussione jan267
  • Data di inizio Data di inizio

jan267

Utente Attivo
6 Mar 2003
1.950
2
38
36
Milano
twitter.com
Ciao a tutti,
vorrei fare una tabella che ha colore alternato ad ogni cella, pero` non funge... o meglio... le celle le fa tutte dello stesso colore!

Come vedrete dal code, il contenuto delle tabelle e` preso da un database... vabbe` ecco il code:
PHP:
<?PHP
...

$i = 1;
$color_1 = "#EAEAFF";
$color_2 = "#F4F4FF";
while ($tot=mysql_fetch_array($result_tot)) {
	while($i <= $tot["id"]) {
		while ($row=mysql_fetch_array($result)) {
			if ($i % 2 == 0) {
				echo " <tr bgcolor=\"".$color_1."\" class=\"tbl\">\n";
				echo "  <td width=\"15%\" valign=\"top\"><strong>:: ".$row["data"]." ::</strong></td>\n";
				echo "  <td width=\"85%\" valign=\"top\"><a href=\"/news.php?id=".$row["id"]."\">".$row["titolo"]."</a></td>\n";
				echo " </tr>\n";
			} else {
				echo " <tr bgcolor=\"".$color_2."\" class=\"tbl\">\n";
				echo "  <td width=\"15%\" valign=\"top\"><strong>:: ".$row["data"]." ::</strong></td>\n";
				echo "  <td width=\"85%\" valign=\"top\"><a href=\"/news.php?id=".$row["id"]."\">".$row["titolo"]."</a></td>\n";
				echo " </tr>\n";
			}
		}
		$i++;
	}
}

...
?>
Qualcuno mi aiutaaaa? :D
Tnx :***
Bye
 
Originally posted by jan267
Ciao a tutti,
vorrei fare una tabella che ha colore alternato ad ogni cella, pero` non funge... o meglio... le celle le fa tutte dello stesso colore!

Come vedrete dal code, il contenuto delle tabelle e` preso da un database... vabbe` ecco il code:
PHP:
<?PHP
...

$i = 1;
$color_1 = "#EAEAFF";
$color_2 = "#F4F4FF";
while ($tot=mysql_fetch_array($result_tot)) {
	while($i <= $tot["id"]) {
		while ($row=mysql_fetch_array($result)) {
			if ($i % 2 == 0) {
				echo " <tr bgcolor=\"".$color_1."\" class=\"tbl\">\n";
				echo "  <td width=\"15%\" valign=\"top\"><strong>:: ".$row["data"]." ::</strong></td>\n";
				echo "  <td width=\"85%\" valign=\"top\"><a href=\"/news.php?id=".$row["id"]."\">".$row["titolo"]."</a></td>\n";
				echo " </tr>\n";
			} else {
				echo " <tr bgcolor=\"".$color_2."\" class=\"tbl\">\n";
				echo "  <td width=\"15%\" valign=\"top\"><strong>:: ".$row["data"]." ::</strong></td>\n";
				echo "  <td width=\"85%\" valign=\"top\"><a href=\"/news.php?id=".$row["id"]."\">".$row["titolo"]."</a></td>\n";
				echo " </tr>\n";
			}
		}
		$i++;
	}
}

...
?>
Qualcuno mi aiutaaaa? :D
Tnx :***
Bye

prova a specificare due colori opposti ($color_1 = "white"; $color_2 = "black";) e magari posta la parte di codice generata dallo script relativa a due celle delle tabella

bye:mexican:
 
Zi`... ma io non voglio il biano e nero come colori :p
Per quanto riguarda la parte di codice generata dallo script...:
Codice:
<table>
 <tr bgcolor="#F4F4FF">
  <td>ID1</td>
 </tr>
 <tr bgcolor="#F4F4FF">
  <td>ID2</td>
 </tr>
 <tr bgcolor="#F4F4FF">
  <td>ID3</td>
 </tr>
</table>
E potrei continuare all`infinito!
Bye :byebye:
 
1) per selecionare gli elementi di un array devi usare apici, e non virgolette es. $tot['id'] e non $to["id"], ma l'errore non è quello

2) aggiungi la riga echo $tos['id'] all'interno del secondo ciclo while per vedere se effettivamente ti conta il numero di id (dovrebbe contarli...)

3) prova a sostiruire il secondo ciclo while con un ciclo for

PHP:
for ($i = 1; $i <= $tot['id']; $i++) {
     if ($i % 2 = 0) {
          echo "<td bgcolor=$color_1>prova</td>";
     } else {
          echo "<td bgcolor=$color_2>prova2</td>";
     }
}

bye:mexican:
 

Discussioni simili