Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/03/2016, 11:56
Amiancht
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años
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í.