Foros del Web » Programando para Internet » PHP »

Como cambiar color de filas de una tabla?

Estas en el tema de Como cambiar color de filas de una tabla? en el foro de PHP en Foros del Web. Recién estoy aprendiendo PHP, quiero hacer un plan de estudio interactivo que al llenar un campo con A de Aprobado o con R de Regular ...
  #1 (permalink)  
Antiguo 13/03/2013, 13:54
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Como cambiar color de filas de una tabla?

Recién estoy aprendiendo PHP, quiero hacer un plan de estudio interactivo que al llenar un campo con A de Aprobado o con R de Regular la fila a la que pertenece (que lleva el nombre de la materia), cambie a un color determinado, y que alguna fila posterior también lo haga Por ejemplo, si tengo Química Aprobada (color 2) y Álgebra Regular(color 1), la materia numero 10 figure como Cursable (color 3)

Les pongo el código que hice (es poco, pero es mi orgullo, jeje)

Código PHP:
Ver original
  1. <?php
  2.  
  3. $uno=$_POST['1'];
  4. $dos=$_POST['2'];
  5. $tre=$_POST['3'];
  6. $cua=$_POST['4'];       //hay alguna manera de hacer que
  7. $cin=$_POST['5'];       //las 48 variables que tengo que
  8. $sei=$_POST['6'];       //hacer ser generen automaticamente??
  9. $sie=$_POST['7'];
  10. $och=$_POST['8'];
  11. $nue=$_POST['9'];
  12. $die=$_POST['10'];
  13. $onc=$_POST['11'];
  14. $doc=$_POST['12'];
  15. $trc=$_POST['13'];
  16. $ctr=$_POST['14'];
  17. $qui=$_POST['15'];
  18. $dcs=$_POST['16'];
  19. $dc7=$_POST['17'];
  20. //asi sustantivamente hasta...
  21. $cr8=$_POST['48']
  22.  
  23.     if (($tre=='r') . ($tre=='R'))
  24.         {aqui quiero que cambie el color de la fila a TAL color ;}
  25.     elseif (($tre=='a') . ($tre=='A'))
  26.         {aqui quiero que la fila cambie a CUAL color;}
  27.         else {echo 'Por favor, rellena los campos solo con A para las materias
  28.         que tengas Aprobadas, o con R para las materias que tengas Regulares,
  29.         sino es una perdida de tiempo... lo pillas, tronco? ' ;}
  30.  
  31. //supongo que este if tambien se puede reducir
  32. //a una function, pero me esforcé en terminarlo
  33. //y ver que anduviera, para no caer solo pidiendo
  34. //una solucion, sin demostrar que me interesa
  35. //aprender a programar. Muchas gracias!
  36.        
  37.        
  38. //este If logre hacerlo casi sin ayuda, me queme los sesos pero fue muy
  39. //gratificante!! Desde olvidarme de prender el WAMP, hasta olvidar alguna
  40. //mayuscula, o poner = en lugar de ==, y declarar una function y luego
  41. //meterla adentro del else de un IF.. lo cual generaba un error que me
  42. //quito las ganas de seguir intentandolo. Por suerte descubri el elseif!!JAJA
  43.        
  44.        
  45. if (($nue=='r') . ($nue=='R') . ($tre=='a') . ($tre=='A'))
  46.         {entonce la fila de $qui va a tener ESTE color ;}
  47.         else {no pasa nada;}
  48.        
  49. ?>


Como ven, si tienen sugerencias bienvenidas sean!!
Y nuevamente, muchas gracias por su tiempo gente!

Última edición por kevlar555; 13/03/2013 a las 14:03
  #2 (permalink)  
Antiguo 13/03/2013, 14:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como cambiar color de filas de una tabla?

En HTML es incorrecto poner nombres de campo (o id) que inicien con número o sean solo números; de ahí ya vamos mal.

Para crear variables automáticamente (nada recomendable, por cierto) puedes usar extract()
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/03/2013, 14:26
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Como cambiar color de filas de una tabla?

En relación a la Array de 48 registros que problema tienes de usarla. Lo que me refiero es porqué necesitas sacarlos todos a variables, para el uso que le vas a dar después puedes usar un foreach.

Para el tema de los colores puedes usar el if o en su caso un switch, pero para empezar, mejor el if.

Tu mismo has dicho como quieres hacerlo, si es un R, x color, y sino, si es A, x color. Ahora sólo tiene que cambiar los "si" por if y el sino por "else" y lo tienes.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #4 (permalink)  
Antiguo 13/03/2013, 15:04
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como cambiar color de filas de una tabla?

Cita:
Iniciado por Triby Ver Mensaje
En HTML es incorrecto poner nombres de campo (o id) que inicien con número o sean solo números; de ahí ya vamos mal.

Para crear variables automáticamente (nada recomendable, por cierto) puedes usar extract()
No es HTML, es PHP (en el cual aprendi a la fuerza que no puedo empezar una variable con un numero "$1" pero si "$u1", jeje)
Perdon, eran nombres de campo.. pero al parecer en PHP no hay ningun problema, de hecho el codigo que escribi funcionaba.

Ahora, me pongo a investigar que es un ARRAY..
Y para el de los colores en los IF, cual es la sintaxis adecuada?

Gracias a ambos!
  #5 (permalink)  
Antiguo 13/03/2013, 16:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como cambiar color de filas de una tabla?

Si es PHP, me podrías decir cómo obtienes $_POST['1'] por favor?

Array es un arreglo de variables (u objetos), a los que puedes acceder por medio de su índice, tal como lo estás haciendo con $_POST['1'], $_POST['2'], $_POST['etc']
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 13/03/2013, 18:15
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Como cambiar color de filas de una tabla?

Lo mejor para investigar es usar la documentación oficial aunque el único problema que le veo son los tecnicismos que se usan.

Para crear un if es muy simple, si lo introducido en la condición es verdad (true) se procesa el if, por ejemplo: 1 es igual a 1, sí, por lo tanto se procesa. Cómo se traduce esto en un if, pues del siguiente modo if ( 1 == 1 ) { [...] }. El "==" es un operador y hay de varios tipos.

Otro ejemplo sería si uno es mayor a dos, se traduce del siguiente modo if ( 1 > 2) { [..] }, en este caso la condición es mentira (false), porque el uno nunca va a ser mayor que el dos, por lo tanto no se procesa el if.

También se pueden usar funciones para saber si algo es verdadero, por ejemplo, ¿el uno es un número?, lo que quedaría del siguiente modo if ( is_numeric( 1 ) ) { [...] }. El uno a ser un número y comprobarlo con la función is_numeric(), él nos devolverá que sí, que es un número, por lo tanto la condición es verdad (true) y se procesa el if.

Con todo esto te quiero decir que tienes muchísimas posibilidades para usar los if, simplemente prueba y si tienes dudas, ya sabes en donde estamos.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #7 (permalink)  
Antiguo 13/03/2013, 19:25
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como cambiar color de filas de una tabla?

Me asombra las ideas con las que vienen los usuarios, quien sabe de que hierba fuman.

48 variables ??? mejor crea un array o array asociativo con los valores.

En cuanto a los colores, creas dos clases css, y las alternas en cada tr.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #8 (permalink)  
Antiguo 13/03/2013, 19:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como cambiar color de filas de una tabla?

Primero

tengo en el index una tabla con un campo de texto por cada materia (48 materias), cada campo de texto tiene una "id=1", luego en otra pagina, ambas son *.php, pongo $uno=$_POST['1'] y ya está!

Segundo, si, ya me olia que tener 48 variables es una locura, pero con lo poco que se trate de ingeniarmelas, se que mientras más sepa, mejor me las puedo ingeniar, el tema es que no queria esperar...
  #9 (permalink)  
Antiguo 13/03/2013, 20:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como cambiar color de filas de una tabla?

Debo insistir en que tus campos de texto no deben tener nombre o id numérico, pero sí puedes hacer el array desde ahí, ejemplo:

Código HTML:
Ver original
  1. Texto 1: <input type="text" name="materias[]" value="" /><br />
  2. Texto 2: <input type="text" name="materias[]" value="" /><br />
  3. Texto N: <input type="text" name="materias[]" value="" /><br />

Luego, en PHP las obtienes así:

Código PHP:
Ver original
  1. // Debes tener en cuenta que la numeración en PHP comienza en cero
  2. foreach($_POST['materias'] as $numero => $valor) {
  3.       // Conviertes a mayúscula para evitarte mayor problema
  4.       $valor = strtoupper($valor);
  5.       // Comparas
  6.       if($valor != 'A' || $valor != 'R') {
  7.              // Aquí el mensaje que debas poner
  8.       }
  9. }

Luego, me pregunto, si sólo hay dos valores posibles, no sería más conveniente usar checkboxes, marcando sólo las materias que estén aprobadas?
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 13/03/2013, 20:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como cambiar color de filas de una tabla?

Cita:
Iniciado por Reedyseth Ver Mensaje

En cuanto a los colores, creas dos clases css, y las alternas en cada tr.
No tengo solo dos variables, y no necesariamente van alternadas, puedo tener tres filas azules que seran tres materias aprobadas, luego una naranja que sera una materia que tengo regular, luego una verde que sera la que pueda cursar por correlatividad, y luego las que todavia no puedo cursar, que quedaran con fondo blanco...


Cita:
Iniciado por Triby Ver Mensaje

Debo insistir en que tus campos de texto no deben tener nombre o id numérico, pero sí puedes hacer el array desde ahí, ejemplo:



Luego, en PHP las obtienes así:

Código PHP:
Ver original
  1. // Debes tener en cuenta que la numeración en PHP comienza en cero
  2. foreach($_POST['materias'] as $numero => $valor) {
  3.       // Conviertes a mayúscula para evitarte mayor problema
  4.       $valor = strtoupper($valor);
  5.       // Comparas
  6.       if($valor != 'A' || $valor != 'R') {
  7.              // Aquí el mensaje que debas poner
  8.       }
  9. }

Luego, me pregunto, si sólo hay dos valores posibles, no sería más conveniente usar checkboxes, marcando sólo las materias que estén aprobadas?


O_O este codigo esta muy bueno, mañana temprano me pongo a jugar a ver si soluciono mis problemas

Gracias a todos! No es necesario que sigan respondiendo, ya tengo suficiente para estudiar. Quiero ir haciendole improvments gradualmente a medida que aprendo, se que eventualmente terminare achicando todo el codigo mediante jQuery y hasta con AJAX, pero para correr, hay que aprender a caminar, no?

Etiquetas: color, filas, tabla
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 02:43.