Foros del Web » Programando para Internet » PHP »

Color de tabla

Estas en el tema de Color de tabla en el foro de PHP en Foros del Web. Muy buenas compañeros, Tengo un bucle realizado de la manera siguiente: Código PHP: <?php while ( $row  =  mysql_fetch_array ( $result_jugadores )) {      //Contador de celdas $posicion_jugadores ++; ...
  #1 (permalink)  
Antiguo 24/01/2003, 04:26
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Color de tabla

Muy buenas compañeros,

Tengo un bucle realizado de la manera siguiente:

Código PHP:
<?php
while ($row mysql_fetch_array($result_jugadores)) {
    
//Contador de celdas
$posicion_jugadores++;
    
$id_jugador $row["ID_JUGADOR"];
//Aquí quiero que ponga la primera fila azul y la siguiente verde, la siguiente azul y la siguiente verde...    
echo "<tr onMouseOver=\"this.bgColor='#66CCCC';\" onMouseOut=\"this.bgColor='#339999';\">";
    
$result_usuarios mysql_query("select ID, NOMBRE, APELLIDOS from USUARIOS where ID = '$id_jugador'",$link);
//Aquí llama a otro SELECT, no procupaaaarse    
if ($row mysql_fetch_array($result_usuarios))
    
$apellido $row["APELLIDOS"];
    
$nombre $row["NOMBRE"];
    echo 
"<td><div align='center'><font color='#FFFFFF' size=\"1\">$posicion_jugadores</font></div></td>";
    echo 
"<td colspan=\"4\" ><font color='#FFFFFF' size=\"1\">&nbsp;&nbsp; · $nombre";
    echo 
"&nbsp;$apellido</font></td>";
    echo 
"<td><a href=\"acta.php?dni=%s&id_ranking=%d\"><font color='#FFFFFF' size=\"1\">Ver ficha</font></a></td>
    </tr>"
; }
     
?>
y lo que estoy tratando de hacer es que me coloree una fila de un color y la siguiente de otro, volviéndose a repetir la fórmula tantas veces como resultados encuentre.

¿Cómo se puede poner un color diferente en las filas de mi tabla?

Gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 24/01/2003, 09:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 20
Antigüedad: 21 años, 4 meses
Puntos: 0
En las FAQs del foro hay un par de articulos sobre esto.
De todas formas lo que tienes que hacer es que una variable vaya alternando entre dos valores(colores) y asignar esa variable al color de fondo de la tabla. Puedes hacerlo con un vector o a mano con sentencias if then ...

Saludos
  #3 (permalink)  
Antiguo 24/01/2003, 09:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Código PHP:
<?php

for ($i=0$row mysql_fetch_array($result_jugadores), $i++) {
    

//Contador de celdas

$posicion_jugadores++;

    
$id_jugador $row["ID_JUGADOR"];

//Aquí quiero que ponga la primera fila azul y la siguiente verde, la siguiente azul y la siguiente verde...    
if ($i 1) {
echo 
"<tr onMouseOver=\"this.bgColor='#66CCCC';\" onMouseOut=\"this.bgColor='#339999';\">";
}
else {
<
tr onMouseOver="this.bgColor='#339999';\" onMouseOut=\"this.bgColor='#66CCCC';\">";}
    
$result_usuarios mysql_query("select ID, NOMBRE, APELLIDOS from USUARIOS where ID = '$id_jugador'",$link);

//Aquí llama a otro SELECT, no procupaaaarse    

if ($row mysql_fetch_array($result_usuarios))

    
$apellido $row["APELLIDOS"];

    
$nombre $row["NOMBRE"];

    echo 
"<td><div align='center'><font color='#FFFFFF' size=\"1\">$posicion_jugadores</font></div></td>";

    echo 
"<td colspan=\"4\" ><font color='#FFFFFF' size=\"1\">&nbsp;&nbsp; · $nombre";

    echo 
"&nbsp;$apellido</font></td>";

    echo 
"<td><a href=\"acta.php?dni=%s&id_ranking=%d\"><font color='#FFFFFF' size=\"1\">Ver ficha</font></a></td>

    </tr>"
; }

     
?>
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 24/01/2003, 10:35
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Muchimísimas gracias, me parece increible tu dedicación a nosotros los "aprendices" de PHP.

PD: ¿Podrías explicarme el fin de ese "if ($i % 2 = 1)", no entiendo su uso y además me dá error en el igual.

Un abrazo
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.

Última edición por ferent; 24/01/2003 a las 10:41
  #5 (permalink)  
Antiguo 24/01/2003, 10:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Ouch

EL igual debe ser doble Siempre la fallo ahí.

El símbolo % sirve para calcular el modulo (= el resto de la división)

0 % 2 = 0 (0/2 = 0)
1 % 2 = 1 (1/2 = 0 y me llevo 1)
2 % 3 = 2 (2/3 = 0 y me llevo 2)

Lo que "te llevas" es el modulo.
__________________
M a l d i t o F r i k i
  #6 (permalink)  
Antiguo 24/01/2003, 11:20
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
De nuevo, gracias Cain
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #7 (permalink)  
Antiguo 24/01/2003, 15:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
<pataleta>Joo, yo queria que usase el codigo mio que puse en el FAQ</pataleta>
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.