Foros del Web » Programando para Internet » PHP »

Intercalar color en tablas

Estas en el tema de Intercalar color en tablas en el foro de PHP en Foros del Web. Hola que tal tengo una duda de como intercalar el color cuando hago mi consulta en mi tabla mi codigo es el sig Código PHP: ...
  #1 (permalink)  
Antiguo 11/12/2009, 13:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 34
Antigüedad: 14 años, 6 meses
Puntos: 1
Intercalar color en tablas

Hola que tal tengo una duda de como intercalar el color cuando hago mi consulta en mi tabla mi codigo es el sig

Código PHP:
<?php 
             
require 'conexion.php';
            
$link=conecta();
            
            
            
$db_seleccionada =bd();
            
$sql="select numero,clave,clave_con,conceptos,unidades,cantidad,costo_unitario, importe, c_sem1, i_sem1,c_est1,i_est1 ,a_sem from obracivil " 
            
$datos=mysql_query($sql,$link) or die ("Error en sintaxis de sql");
            
            echo 
"<table border='0' bordercolor = '#FFFFFF'>\n";
echo 
"<TH bgcolor='#3399FF'>Consecutivo</TH><TH bgcolor='#3399FF'>Código concepto</TH><TH bgcolor='#3399FF'>Concepto</TH><TH bgcolor='#3399FF'>Unidad</TH><TH bgcolor='#3399FF'>Presupuesto origen cantidad</TH><TH bgcolor='#3399FF'>Costo unitario</TH><TH bgcolor='#3399FF'>Presupuesto origen importe</TH><TH bgcolor='#9999FF'>Esta estimación cantidad</TH><TH bgcolor='#9999FF'>Esta estimación importe</TH><TH bgcolor='#009933'>Acumulado estimado cantidad</TH><TH bgcolor='#009933'>Acumulado estimado importe</TH><TH bgcolor='#FF0000'>Por estimar cantidad</TH><TH bgcolor='#FF0000'>Por estimar importe</TH>";
 

            
            while(
$reg=mysql_fetch_array($datos))
            {
            

?? 
color linea
                 
                
    
echo "<tr>";
$costo_unitario=number_format($reg['costo_unitario'],2);
$importe=number_format($reg['importe'],2);
$c_sem1=number_format($reg['c_sem1'],2);
$i_sem1=number_format($reg['i_sem1'],2);

$c_est1=number_format($reg['c_est1'],2);
$i_est1=number_format($reg['i_est1'],2);
//echo "<td width=60 align=right >&nbsp;".$reg["a_sem"]."</td>";                
echo "<td width=60 align=right >&nbsp;".$reg["numero"]."</td>";
echo 
"<td width=10 align=left >&nbsp;".$reg["clave_con"]."</td>";
echo 
"<td width=550 align=left >&nbsp;".$reg["conceptos"]."</td>";
echo 
"<td width=60 align=CENTER >&nbsp;".$reg["unidades"]."</td>";
echo 
"<td width=80 align=right >&nbsp;".$reg["cantidad"]."</td>";
echo 
"<td width=80 align=right >\$$costo_unitario</td>";
echo 
"<td width=80 align=right >\$$importe</td>";
//captura de datos reales

echo "<td width=80 align=right >\$$c_sem1</td>";
echo 
"<td width=80 align=right >\$$i_sem1</td>";

// acumulado estimado sem0 +sem1
echo "<td width=80 align=right >\$$c_sem1</td>";
echo 
"<td width=80 align=right >\$$i_sem1</td>";
// acumulado estimado c_sem-cantidad origen

echo "<td width=80 align=right >\$$c_est1</td>";
echo 
"<td width=80 align=right >\$$i_est1</td>";

//imagenes para editar o eliminar
//$a_sem="1";



//imagenes para editar o eliminar
echo "<td align=right><a href=borrar.php?numero=".$reg[0].".&a_sem=".$reg["a_sem"]."><img src=images/borrar.jpg title=eliminar_concepto /></a></td>";

echo 
"<td><a href=modificar.php?numero=".$reg["numero"].".&cantidad=".$reg["cantidad"].".&costo_unitario=".$reg["costo_unitario"].".&c_sem1=".$reg["c_sem1"].".&i_sem1=".$reg["i_sem1"].".&i_est1=".$reg["i_est1"].".&importe=".$reg["importe"].".&a_sem=".$reg["a_sem"]."><img src=images/edit.jpg title=modificar_cantidad /></a></td>";
//echo "<td><a href=actualizar_estado1.php?numero=".$numero.">".No."</a></td>";
                    
echo "</tr>";
            }
            echo 
"</table>";
            
mysql_free_result($datos);
            
mysql_close($link);

 
?>
He visto otos post que va abajo del while pero no me sale podrian ayudarme
  #2 (permalink)  
Antiguo 11/12/2009, 13:09
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Intercalar color en tablas

La idea es la siguiente:

Código PHP:
#ponemos un contador
$i=0

while(
$reg=mysql_fetch_array($datos)){

       
#preguntamos
        
           #aclaro que el simbolo raro es un porciento
           
if($io/o2==0){

          
#pintas de un color, por ejemplo
          
echo "<tr bgcolor='#cccccc'>";

         
#bla bla bla el resto de tu codigo

         
}else{


            
#pintas de otro color o dejas blanco

            #bla bla bla el mismo codigo de arriba


         
}
$i++;

?> 
  #3 (permalink)  
Antiguo 11/12/2009, 13:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 34
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Intercalar color en tablas

Agradesco tu respuesta y el tiempo q te tomaste .
Pero ingreso el codigo que pones y no sale el color :(

podrias orientarme?

Código PHP:
Ver original
  1. <?php
  2.              require 'conexion.php';
  3.             $link=conecta();
  4.            
  5.            
  6.             $db_seleccionada =bd();
  7.             $sql="select numero,clave,clave_con,conceptos,unidades,cantidad,costo_unitario, importe, c_sem1, i_sem1,c_est1,i_est1 ,a_sem from obracivil " ;
  8.             $datos=mysql_query($sql,$link) or die ("Error en sintaxis de sql");
  9.            
  10.             echo "<table border='0' bordercolor = '#FFFFFF'>\n";
  11. echo "<TH bgcolor='#3399FF'>Consecutivo</TH><TH bgcolor='#3399FF'>Código concepto</TH><TH bgcolor='#3399FF'>Concepto</TH><TH bgcolor='#3399FF'>Unidad</TH><TH bgcolor='#3399FF'>Presupuesto origen cantidad</TH><TH bgcolor='#3399FF'>Costo unitario</TH><TH bgcolor='#3399FF'>Presupuesto origen importe</TH><TH bgcolor='#9999FF'>Esta estimación cantidad</TH><TH bgcolor='#9999FF'>Esta estimación importe</TH><TH bgcolor='#009933'>Acumulado estimado cantidad</TH><TH bgcolor='#009933'>Acumulado estimado importe</TH><TH bgcolor='#FF0000'>Por estimar cantidad</TH><TH bgcolor='#FF0000'>Por estimar importe</TH>";
  12.            
  13.            
  14.             $i=0;
  15.  
  16. while($reg=mysql_fetch_array($datos)){
  17.  
  18.      
  19.            if($i==0){        
  20.           echo "<tr bgcolor='#cccccc'>";      
  21.  
  22.          }else{
  23.  
  24.             echo "<tr bgcolor='#FFFFFF'>";
  25.          }             
  26.                
  27.     echo "<tr>";
  28. $costo_unitario=number_format($reg['costo_unitario'],2);
  29. $importe=number_format($reg['importe'],2);
  30. $c_sem1=number_format($reg['c_sem1'],2);
  31. $i_sem1=number_format($reg['i_sem1'],2);
  32.  
  33. $c_est1=number_format($reg['c_est1'],2);
  34. $i_est1=number_format($reg['i_est1'],2);
  35. //echo "<td width=60 align=right >&nbsp;".$reg["a_sem"]."</td>";               
  36. echo "<td width=60 align=right >&nbsp;".$reg["numero"]."</td>";
  37. echo "<td width=10 align=left >&nbsp;".$reg["clave_con"]."</td>";
  38. echo "<td width=550 align=left >&nbsp;".$reg["conceptos"]."</td>";
  39. echo "<td width=60 align=CENTER >&nbsp;".$reg["unidades"]."</td>";
  40. echo "<td width=80 align=right >&nbsp;".$reg["cantidad"]."</td>";
  41. echo "<td width=80 align=right >\$$costo_unitario</td>";
  42. echo "<td width=80 align=right >\$$importe</td>";
  43. //captura de datos reales
  44. echo "<td width=80 align=right >\$$c_sem1</td>";
  45. echo "<td width=80 align=right >\$$i_sem1</td>";
  46.  
  47. // acumulado estimado sem0 +sem1
  48. echo "<td width=80 align=right >\$$c_sem1</td>";
  49. echo "<td width=80 align=right >\$$i_sem1</td>";
  50. // acumulado estimado c_sem-cantidad origen
  51.  
  52. echo "<td width=80 align=right >\$$c_est1</td>";
  53. echo "<td width=80 align=right >\$$i_est1</td>";
  54.  
  55.  
  56.  
  57.  
  58.                    
  59.  
  60. }
  61.            
  62.             echo "</table>";
  63.             mysql_free_result($datos);
  64.             mysql_close($link);
  65.  
  66.  ?>
  #4 (permalink)  
Antiguo 11/12/2009, 13:53
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Intercalar color en tablas

En realidad, hiciste exactamente eso, agarraste el codigo que te dije y lo pusiste como estaba. Y no era eso lo que habia que hacer....

Ademas no prestaste atencion a los comentarios que puse en el codigo, pusiste un == donde va un %
Ytambien sacaste el $i++ al final!

Código PHP:
$i=0
$color;
 
while(
$reg=mysql_fetch_array($datos)){
 
      
           if(
$i o/o 2 == 0){        
          
$color="#cccccc";       
 
         }else{
 
            
$color="#ffffff";
         }              
                
    echo 
"<tr bgcolor='$color'>";
$costo_unitario=number_format($reg['costo_unitario'],2);
$importe=number_format($reg['importe'],2);
$c_sem1=number_format($reg['c_sem1'],2);
$i_sem1=number_format($reg['i_sem1'],2);
 
$c_est1=number_format($reg['c_est1'],2);
$i_est1=number_format($reg['i_est1'],2);
//echo "<td width=60 align=right >&nbsp;".$reg["a_sem"]."</td>";                
echo "<td width=60 align=right >&nbsp;".$reg["numero"]."</td>";
echo 
"<td width=10 align=left >&nbsp;".$reg["clave_con"]."</td>";
echo 
"<td width=550 align=left >&nbsp;".$reg["conceptos"]."</td>";
echo 
"<td width=60 align=CENTER >&nbsp;".$reg["unidades"]."</td>";
echo 
"<td width=80 align=right >&nbsp;".$reg["cantidad"]."</td>";
echo 
"<td width=80 align=right >\$$costo_unitario</td>";
echo 
"<td width=80 align=right >\$$importe</td>";
//captura de datos reales
echo "<td width=80 align=right >\$$c_sem1</td>";
echo 
"<td width=80 align=right >\$$i_sem1</td>";
 
// acumulado estimado sem0 +sem1
echo "<td width=80 align=right >\$$c_sem1</td>";
echo 
"<td width=80 align=right >\$$i_sem1</td>";
// acumulado estimado c_sem-cantidad origen
 
echo "<td width=80 align=right >\$$c_est1</td>";
echo 
"<td width=80 align=right >\$$i_est1</td>";

#nunca cerrabas tr
echo "</tr>";

$i++;

ACLARO: el simbolo o/o reemplazalo por % (es un problema del resaltador de codigo del foro creo)

NOTA: gracias por el karma!
  #5 (permalink)  
Antiguo 11/12/2009, 14:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 34
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Intercalar color en tablas

Muchas gracias, tienes razon tu codigo funciona corectamente gracias, lo que me viene fallando es mi hoja de estilo...
Del carma no seque es eso, si hay manera d reparlo lo hare,(supongo q es algo asi como asignar al usario un punto malo)
  #6 (permalink)  
Antiguo 11/12/2009, 14:39
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Intercalar color en tablas

Cita:
Iniciado por ingross Ver Mensaje
Muchas gracias, tienes razon tu codigo funciona corectamente gracias, lo que me viene fallando es mi hoja de estilo...
Del carma no seque es eso, si hay manera d reparlo lo hare,(supongo q es algo asi como asignar al usario un punto malo)
No, al contrario! es asignarme a mi un punto bueno muejejejeje !!

Hace click en el simbolito sel shinshan abajo de mi nick y escribi un mensaje lindo
=)

Karma ---> http://www.forosdelweb.com/faq.php?s...l&titlesonly=0
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.
Tema Cerrado




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