Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mostrar texto en color

Estas en el tema de mostrar texto en color en el foro de PHP en Foros del Web. saludos comunidad, actualmente tengo este codigo que me funciona perfectamente pero de una manera manual, muestra el texto en color de acuerdo a su estado, ...
  #1 (permalink)  
Antiguo 09/10/2018, 19:12
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 2 años, 8 meses
Puntos: 1
mostrar texto en color

saludos comunidad, actualmente tengo este codigo que me funciona perfectamente pero de una manera manual, muestra el texto en color de
acuerdo a su estado, pero como lo dije antes funciona manualmente y no directo extrayendo los datos de la bd, me explico mejor

estados:

activo - color verde debe mostrar el exto en color verde
fuera de servicio - color rojo debe mostrar el texto en color rojo

lo que se pretende es que trabaje directamente con los datos guardados en la bd

estados
Código PHP:
Ver original
  1. while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  2.  
  3.  
  4. $status_color = array(
  5.                        
  6.                         'Activo' => 'green-text',
  7.                         'Fuera de Servicio' => 'red-text'
  8.                               );
  9.  
  10. ?>


mostrar texto
Código PHP:
Ver original
  1. <?php
  2.       echo " <span class='black-text left-align'><b>Estado:</b></span>&nbsp;
  3.      <p class='". $status_color[$linea['estados']] ."'>$linea[estados]</p> </span>";
  4.                
  5.               ?>
__________________
yoclens avilan
  #2 (permalink)  
Antiguo 09/10/2018, 19:55
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.190
Antigüedad: 10 años, 9 meses
Puntos: 1016
Respuesta: mostrar texto en color

utilizar un echo para imprimir código html es mala idea, es difícil de dar mantenimiento y de manipular., cambia tu estructura por algo asi

Código PHP:
Ver original
  1. <?php
  2. $colores = ['color1' => 'text-1',   'color2' => 'text-2',   'color3' => 'text-3'];
  3.  
  4. while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  5.     ?>
  6. <div class="<?php echo !empty($linea['color']) ? $colores[$linea['color']] : '' ?>">
  7.     aqui todo tu html
  8. </div>
  9.     <?
  10. }
__________________
Toda ayuda se proporciona exclusivamente en el foro, no skype, no mensajes privados u otro medio....
  #3 (permalink)  
Antiguo 09/10/2018, 20:45
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 2 años, 8 meses
Puntos: 1
Respuesta: mostrar texto en color

gracias amigo por responder, pero lo que necesito es que trabaje ahora directamente con los datos almacenado en la bd mi tabla estado tiene los campos

id_estados - estados - color
1 activo #00ff00
2 Fuera de servicio #ff0000
__________________
yoclens avilan
  #4 (permalink)  
Antiguo 09/10/2018, 21:00
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.418
Antigüedad: 3 años, 5 meses
Puntos: 256
Respuesta: mostrar texto en color

plica lo mismo que te explicaron, solo que vas a utilizar los colores de la base de datos
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 09/10/2018, 21:29
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 2 años, 8 meses
Puntos: 1
Respuesta: mostrar texto en color

no me estoy entendiendo aquí debería poner la variable color que es la que almacena el color de la bd y el estado que es el texto

Código PHP:
Ver original
  1. $colores = ['color' => 'estado'];

osea lo que quiero es hacerlo directamente desde bd porque si actualizo el color entonces tendría que modificar el código del color y eso es lo que no quiero osea que haga el cambio como cuando se actualiza un registro
__________________
yoclens avilan
  #6 (permalink)  
Antiguo 09/10/2018, 22:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.982
Antigüedad: 5 años, 5 meses
Puntos: 376
Respuesta: mostrar texto en color

Es exactamente lo mismo, al final el resultado de tu bd te va a dar un arreglo que vas a recorrer
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 09/10/2018, 22:49
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 2 años, 8 meses
Puntos: 1
Respuesta: mostrar texto en color

lo tengo asi, pero no se me muestra los colores

Código PHP:
Ver original
  1. $colores = ['color' => 'estados'];
  2.  
  3. while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  4.  
  5. ?>
  6.  
  7. <div class="col s12 m3">
  8.      
  9.      <div class="card mediun">
  10.  
  11.          <div class="card-image waves-effect waves-block waves-light">
  12.           <img src="http://www.forosdelweb.com/f18/galerias_habitacion/<?= $linea['portada']?>" class="responsive-img wp-post-image"/>
  13.  
  14.          
  15.          </div>
  16.  
  17.  
  18.              <div class="card-action center-align black-text">
  19.  
  20.                 <span class="black-text"><b>Habitación N°:</b>&nbsp;<?php echo $linea['numero_habitacion']; ?></span>
  21.                 <br>
  22.                  <span class="black-text"><b>Monto:</b>&nbsp;<?php echo $linea['valor_horas']; ?> Bs.S</span>
  23.                  <br>
  24.                  <span class="black-text"><b>Habitación:</b>&nbsp;<?php echo $linea['estado_habitacion']; ?></span>
  25.                  <br>
  26.    
  27.  
  28.  
  29. <div class="<?php echo !empty($linea['color']) ? $colores[$linea['estados']] : '' ?>">
  30.     <span class="black-text"><b>Estado:</b>&nbsp;<?php echo $linea['estados']; ?></span>
  31. </div>
__________________
yoclens avilan
  #8 (permalink)  
Antiguo 10/10/2018, 13:43
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.190
Antigüedad: 10 años, 9 meses
Puntos: 1016
Respuesta: mostrar texto en color

Igual es una obviedad lo que preguntare pero el valor arrojado por $linea['estados']

es la llave que tienes en $colores ????

En tu CSS si has declarado la clase -> estados ????
__________________
Toda ayuda se proporciona exclusivamente en el foro, no skype, no mensajes privados u otro medio....
  #9 (permalink)  
Antiguo 10/10/2018, 14:15
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.418
Antigüedad: 3 años, 5 meses
Puntos: 256
Respuesta: mostrar texto en color

Prueba de esta manera colocando el not empty dentro de los paréntesis de la condición ya que esta fuera y no creo te funcione así:

Código PHP:
Ver original
  1. <?php echo (!empty($linea['color'])) ? $colores[$linea['estados']] : '' ?>
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 10/10/2018, 20:28
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 2 años, 8 meses
Puntos: 1
Respuesta: mostrar texto en color

listo ya pude solucionarlo anexo la solución de esta manera trabaja con los datos almacenados en la base de datos perfectamente

Código PHP:
Ver original
  1. echo "<span class='black-text'><b>Estado:</b>&nbsp;</span><span style='color:".$linea['color_estados']."'><b>".$linea['estados']."</b></span>";
__________________
yoclens avilan
  #11 (permalink)  
Antiguo 11/10/2018, 10:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.418
Antigüedad: 3 años, 5 meses
Puntos: 256
Respuesta: mostrar texto en color

Como dato a parte es muy mala práctica imprimir html desde php, por cuestiones de mantenimiento entre otros, recuerda eso. Saludos
__________________
[email protected]
HITCEL



La zona horaria es GMT -6. Ahora son las 11:49.