Foros del Web » Programando para Internet » PHP »

Colores y Celdas, Por favor solucionar.

Estas en el tema de Colores y Celdas, Por favor solucionar. en el foro de PHP en Foros del Web. Como puedo hacer para obtener datos de MySQL en X cantidad de celdas pero que las filas tengan aleatorios colores. Tengo los dos codigos por ...
  #1 (permalink)  
Antiguo 15/03/2006, 13:53
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
Colores y Celdas, Por favor solucionar.

Como puedo hacer para obtener datos de MySQL en X cantidad de celdas pero que las filas tengan aleatorios colores. Tengo los dos codigos por separados, pero no se como unirlos. Los codigos son:

PARA USAR DOS COLORES (Esta con paginator incluido):
Código PHP:

include("conexion.php");
$con mysql_connect("$host","$user","$pass") or die (mysql_error());
mysql_select_db("$db",$con) or die (mysql_error());
//Sentencia sql (sin limit)
$_pagi_sql "SELECT * FROM vidarutinaria ORDER BY id DESC";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 15;
$_pagi_nav_num_enlaces 5;
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.php");
$lista_colores=array('VR_tabla0','VR_tabla1'); 
$num_colores=2
$indice=0
while(
$row mysql_fetch_array($_pagi_result))
{
  
$color=$lista_colores[$indice $num_colores]; 
  
$indice++; 
  echo 
'<TABLE cellpadding="2" cellspacing="0" "border=0 width="100%" class="'.$color.'"><tr><td class="VR_textos" title="'.$row["fecha"].'"><img src=fotos_vidarutinaria/'.$row["foto"].'"><br><b>'.$row["comentario"].':</b></td></tr></table>'
};
//Incluimos la barra de navegación
echo '<br><table width=100% height="18" border=1 align="center" cellpadding=0 cellspacing=0 bordercolor="#000000" class="VR_tabla1">
            <tr>
              <td width="100%" height="1" align=center bordercolor="#99c0e6"><font face="Geneva, Arial, Helvetica, sans-serif" size="2">'
.$_pagi_navegacion.'</font></td>
            </tr>
          </table><br>'

CODIGO PARA X NUMERO DE COLUMNAS
Código PHP:
include("conexion.php"); 
$result=mysql_db_query($db,"select * from vidarutinaria ORDER BY id DESC") or die (mysql_error());
$cols 2;
$num=mysql_num_rows($result);
$filas $num $cols;
echo 
"<table>";
for (
$i 0$i $filas$i++)
{
echo 
"<tr>";
for (
$j=0$j $cols $j++)
{
$row=mysql_fetch_array($result);
if (
$row["foto"] == ""
{
echo 
'<td></td>';
}
else
{
echo 
'<td><img src="fotos_vidarutinaria/'.$row["foto"].'"><br><b>'.$row["comentario"].'</b></td>';
}
}
echo 
"</tr>";
}
echo 
"</table>";
mysql_free_result($result); 
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 15/03/2006, 16:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Disculpa, pero si hubieras planteado tu pregunta de otra forma, quizas ya hubieras tenido más de una respuesta. Ese "Por favor solucionar" se parece mucho a algunos pedidos de soporte, y en este foro nadie está obligado a solucionar nada, aqui los que AYUDAN lo hacen porque quieren, y no porque estén obligados a "solucionar" algo.
Espero sepas comprender esto y lo tengas en cuenta para la próxima.

Un saludo
  #3 (permalink)  
Antiguo 15/03/2006, 16:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por URUVENTAS
Disculpa, pero si hubieras planteado tu pregunta de otra forma, quizas ya hubieras tenido más de una respuesta. Ese "Por favor solucionar" se parece mucho a algunos pedidos de soporte, y en este foro nadie está obligado a solucionar nada, aqui los que AYUDAN lo hacen porque quieren, y no porque estén obligados a "solucionar" algo.
Espero sepas comprender esto y lo tengas en cuenta para la próxima.

Un saludo
Tienes razon, aunque personalmente no me hago problemas siempre y cuando pongan en el titulo algo que describa masomenos el problema...

todoalbo: podrias ser un poco mas explicito y especifico en cuanto a tu problema..??

No te entendi
  #4 (permalink)  
Antiguo 15/03/2006, 16:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
ups...perdon!!

Perdon por lo poco explicito, quizas aca puedo explicarme mejor: Necesito saber como hacer que este codigo muestre lo siguiente:


Columna1/Fila1: Gris; Columna2/Fila1: Blanco
Columna1/Fila 2: Blanco; Columna2/Fila 2: Blanco

Vale decir, necesito que los colores de las celdas sean intercalados.

Código PHP:
include("conexion.php");  
$result=mysql_db_query($db,"select * from vidarutinaria ORDER BY id DESC") or die (mysql_error()); 
$cols 2
$num=mysql_num_rows($result); 
$filas $num $cols
echo 
"<table>"
for (
$i 0$i $filas$i++) 

echo 
"<tr>"
for (
$j=0$j $cols $j++) 

$row=mysql_fetch_array($result); 
if (
$row["foto"] == "")  

echo 
'<td></td>'

else 

echo 
'<td><img src="fotos_vidarutinaria/'.$row["foto"].'"><br><b>'.$row["comentario"].'</b></td>'


echo 
"</tr>"

echo 
"</table>"
mysql_free_result($result); 
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #5 (permalink)  
Antiguo 15/03/2006, 17:20
okram
Invitado
 
Mensajes: n/a
Puntos:
bueno logre hacerte un codigo... a ver si te funciona:

Código PHP:
<?php
include("conexion.php");   

$result=mysql_db_query($db,"select * from vidarutinaria ORDER BY id DESC") or die (mysql_error()); 
$cols 2

$numero "0"// VALOR DE REFERENCIA PARA LOS COLORES

$num=mysql_num_rows($result); 
$filas $num $cols
echo 
"<table>"
for (
$i 0$i $filas$i++) 

echo 
"<tr>"
for (
$j=0$j $cols $j++) 

$row=mysql_fetch_array($result); 

/* AQUI LE SUMO $i, ya que su valor cambia en una unidad por cada 
fila (pero primero verificas si hay un numero par o impar de columnas,
y t agradeceria no preguntar por que,... pues no te lo sabria explicar) */
$columnas $cols/2;
$colspar explode('.',$columnas);
if(!isset(
$colspar[1])) {
$suma $numero $i;
} else {
$suma $numero;
}

// Verificas si la celda tiene un valor par o no
$division $suma/2;
$par explode('.',$division);
if(isset(
$par[1])) {
$color 'bgcolor="#D3F1A7"'//COLOR 1
} else {
$color 'bgcolor="#66CCFF"'//COLOR 2
}

// Incrementas el valor, para que asi en una misma fila, una celda sea par y otra impar  
$numero++;

if (
$row["foto"] == "")  

echo 
'<td '.$color.'></td>'
}  
else 

echo 
'<td '.$color.'><img src="fotos_vidarutinaria/'.$row["foto"].'"><br><b>'.$row["comentario"].'</b></td>'


echo 
"</tr>"

echo 
"</table>";  
?>
La verdad ni yo mismo entiendo bien pero funciona, determinamos si el numero de columnas es par o impar para determinar si la secuencia de colores es 1-2-1-2-1-2... o es mas como 1-2-2-1-1-2-...

El resultado es este:

TABLA PAR:


TABLA IMPAR:


Bueno espero que me entiendas....

Última edición por okram; 15/03/2006 a las 17:25
  #6 (permalink)  
Antiguo 15/03/2006, 17:51
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
Funciona perfecto. Realmente muchas gracias.
Cada dia me gusta mas este foro :D
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
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 18:45.