Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] [Problema]Colores en php

Estas en el tema de [Problema]Colores en php en el foro de PHP en Foros del Web. Bueno antes que nada hola, buenos días/tardes/noches. Bueno vengo con el problema el cual es los colores en PHP, quisiera saber si hay alguna función ...
  #1 (permalink)  
Antiguo 23/03/2016, 08:26
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Pregunta [Problema]Colores en php

Bueno antes que nada hola, buenos días/tardes/noches. Bueno vengo con el problema el cual es los colores en PHP, quisiera saber si hay alguna función o como hacer para que me pase un color de una BD de SQL (phpmyadmin) a un color de seis dígitos a php para poder colocarle el color a un texto, la función para ponerle el color funciona, todo de maravilla pero el problema es que no me convierte el color al color adecuado, digamos el codigo que tengo en la BD es 76926276, como puedo pasarlo para que sea #0495CD
  #2 (permalink)  
Antiguo 23/03/2016, 10:13
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: [Problema]Colores en php

¿Cuál es la complicación para poner directamente "#0495CD" en tu base de datos? O por qué forzosamente tienes que 'encriptarlo'? Saludos
  #3 (permalink)  
Antiguo 23/03/2016, 10:20
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: [Problema]Colores en php

Porque trabajo también con pwn (script - samp) y guarda la función así
  #4 (permalink)  
Antiguo 23/03/2016, 10:24
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 10 años, 10 meses
Puntos: 25
Respuesta: [Problema]Colores en php

¿Por qué?
76926276

¿Porque lo pasas directamente a decimal? ¿Lo has pasado de hexadecimal a decimal? En la base de datos podías haberlo guardado directamente como un varchar en mysql directamente en hexadecimal hasta podias dejar la comilla delante si así lo querías, y te la ahorras de concatenar luego.

No tiene sentido pasar de hexadecimal el color a entero en la base de datos, a menos que quieras jugar con algún algoritmo de generación de colores usando la función rgb() de CSS y hacer alguna frikada de las que he llegado yo a hacer.

De todas maneras en PHP existen funciones para pasar de decimal a hexadecimal. Pero no tiene sentido, pudiendo guardarlo el color como una cadena de texto. De todas maneras te la paso:
http://php.net/manual/es/function.dechex.php

Yo una vez estaba obligado a hacer algo parecido y usamos esa función. Básicamente porque el que creo la base de datos era otra empresa y nosotros se lo teniamos que pasar a partir de una API, pero vamos si tienes control de la base de datos, te aconsejo desmesuradamente que lo guardes directamente en Hexadecimal.
  #5 (permalink)  
Antiguo 23/03/2016, 11:21
 
Fecha de Ingreso: marzo-2016
Mensajes: 26
Antigüedad: 8 años, 1 mes
Puntos: 1
Respuesta: [Problema]Colores en php

hola segun entiendo quieres que tu tabla cambie el color de un dato que se presente en tu tabla php

yo agregue un estado en el campo que determina segun su estado un color

<?while($row = mysql_fetch_array($result)){
$id = $row['id'];
$estado = $row['estado'];
$nombre = $row['nombre'];//
$ciudad = $row['ciudad'];//
if($estado == "ACT") $color = "lightgreen";
else if($estado == "SUS") $color = "yellow";//o el color que tu quieras #0495CD
else if($estado == "DEL") $color = "red";?>


<TR><td bgcolor=<?php echo $color; ?>><center><?php echo strtoupper($id); ?></td>
<td><center><?php echo $nombre; ?> </td>
<td><center><?php echo $ciudad; ?> </td>
<td><center><a>


ojala te sriva saludos :)
  #6 (permalink)  
Antiguo 23/03/2016, 11:32
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: [Problema]Colores en php

Amiancher porque para que cambie el color de en pwn se usa 0x0495CD44, cuando se guarda en la base de datos se guarda en 76926276 y al usar hexdec se me queda así el código 495cd44 y necesito que el código quede así 0495CD. Acá dejo como tengo el código

Código PHP:
<colorc = $row2['Color'];
<center><b><a href="clan.php?clanid=<?php echo $clanid ?>" style="text-decoration:none;color:#<?php echo(dechex("$colorc"+0)); ?>" title="Ver informaci&oacute;n completa del clan">[<?php echo $tag ?>]<?php echo $nombrec ?></a></b></center><?}?></br>
y este es el formato que usan para modifcar el codigo

"%06x", HexCode >>> 8

Última edición por CristianoAlban; 23/03/2016 a las 11:42
  #7 (permalink)  
Antiguo 23/03/2016, 11:56
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 10 años, 10 meses
Puntos: 25
Respuesta: [Problema]Colores en php

Cita:
Iniciado por CristianoAlban Ver Mensaje
Amiancher porque para que cambie el color de en pwn se usa 0x0495CD44, cuando se guarda en la base de datos se guarda en 76926276 y al usar hexdec se me queda así el código 495cd44. Acá dejo como tengo el codigo

Código PHP:
<colorc = $row2['Color'];
<center><b><a href="clan.php?clanid=<?php echo $clanid ?>" style="text-decoration:none;color:#<?php echo(dechex("$colorc"+0)); ?>" title="Ver informaci&oacute;n completa del clan">[<?php echo $tag ?>]<?php echo $nombrec ?></a></b></center><?}?></br>
A ver obviamente necesita de un parseado final el resultado que da dechex(), ya que no te va a dar el 0 inicial ni la # delante del color y los 2 digitos finales que corresponden al canal ALFA.

Te pongo los pasos a seguir, ya que no te voy a escribir el codigo yo (pa que aprendas):
1º Comprueba la longitud del string (del color). Si tiene 1 o 2 caracteres obviamente es el color #000000 (negro) ya que vendría de un codigo similar: 0x00000022
2º Si tiene más de 2 caracteres, elimina de la cadena los 2 últimos caracteres (que son el canal alfa) te debería quedar algo así: 495cd
3º Comprueba la longitud de la cadena sea igual 6 caracteres. Si es menor rellenar a la izquierda con ceros. Quedaría algo así: 0495cd

Y ya está, ya tienes tu color. No me molestaria poner las letras en mayusculas con un uppercase() ya que por convenio a mi me gusta en minusculas.

Funciones que necesitaras:
strlen() para contar las letras.
substr() para quitar los 2 ultimos caracteres.
str_pad() para rellenar con ceros a la izquierda.

¡Suerte! Cualquier duda estaré por aquí.
  #8 (permalink)  
Antiguo 23/03/2016, 17:09
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: [Problema]Colores en php

Ya esta, ya lo solucione, pero tengo un problema al ser que el ya los 6 le quita el numero, letra de adelante y quisiera saber como solucionarlo ya que como me pareció a mi me tira error:

Código PHP:
        <?$colorc $row2['Color'];
        
$rest2 dechex($colorc);
        
$length strlen(utf8_decode($rest2));
        if(
$length==6){
        
$rest = (substr($rest206));}
        if(
$length>=7){
        
$rest2 = (substr($rest205));
        
$colorc4 = (str_pad($rest6"0"STR_PAD_LEFT));}?>
Ademas no se como podría hacer que depende la función que se use se use en:
Código PHP:
<center><b><a href="clan.php?clanid=<?php echo $clanid ?>" style="text-decoration:none;color:#<?php echo "ACA" ?>" title="Ver informaci&oacute;n completa del clan">[<?php echo $tag ?>]<?php echo $nombrec ?></a></b></center><?}?></br>

Última edición por CristianoAlban; 23/03/2016 a las 18:04 Razón: Solucione pero tengo otro error
  #9 (permalink)  
Antiguo 23/03/2016, 19:39
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: [Problema]Colores en php

Ya esta, lo solucione. Gracias a aquellos los que se preocuparon y me ayudaron.

Etiquetas: sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:25.