Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] convertir resultado en un icono

Estas en el tema de convertir resultado en un icono en el foro de PHP en Foros del Web. Hola buenas , supongamos que yo obtengo un resultado cuando lanzo una variable como esta $distrib->Estado; los estados son : Reservada confirmada cargada eliminada bueno ...
  #1 (permalink)  
Antiguo 11/11/2015, 06:56
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 7 años, 9 meses
Puntos: 1
convertir resultado en un icono

Hola buenas , supongamos que yo obtengo un resultado cuando lanzo una variable como esta
$distrib->Estado;

los estados son :
Reservada
confirmada
cargada
eliminada

bueno pues supongamos que yo quiero que cuando me devuelva "reservada"
quiro que en vez de las letras me saliera un icono cmo por ejemplo
Código HTML:
Ver original
  1. <button type="button" class="btn btn-success">
  2.                         <i class="entypo-check"></i>
  3.                     </button>

Seguramente es sencillo pero el desconocimiento me hace preguntar

gracias como siempre:
  #2 (permalink)  
Antiguo 11/11/2015, 07:15
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 7 años, 7 meses
Puntos: 261
Respuesta: convertir resultado en un icono

Buenas,

¿Un simple condicional no valdría?

Código PHP:
if( $distrib->Estado === 'reservada' )
{
    echo 
'<i class="entypo-check"></i>';
}
else
{
    echo 
$distrib->Estado;

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #3 (permalink)  
Antiguo 11/11/2015, 09:54
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 7 años, 9 meses
Puntos: 1
Respuesta: convertir resultado en un icono

Si realmente es lo que necesito pero donde se solicita el estado es en una tabla dentro de un foreach
Código HTML:
Ver original
  1. if( $distrib->Estado === 'Confirmada' )
  2. {
  3.     echo '<button type="button" class="btn btn-success">
  4.                         <i class="entypo-check"></i>
  5.                     </button>';
  6. }
  7. else
  8. {
  9.     echo $distrib->Estado;
  10. }  
  11. echo '<table class="table  table-bordered table-striped datatable"  id="table-2">';
  12. echo    '<thead>';
  13. echo        '<tr class="success" >';
  14. echo            '<th>Contrato</th>';
  15. echo            '<th>Cliente</th>';
  16. echo            '<th>Matricula Tractora</th>';
  17. echo            '<th>DNI PASAPORTE</th>';
  18. echo            '<th>Matricula Remolque</th>';
  19. echo            '<th>Nombre</th>';
  20. echo            '<th>Estado</th>'; 
  21. echo        '</tr>';
  22. echo    '</thead>';
  23. if (is_array($distribuciones)) {
  24.   foreach($distribuciones as $distrib) {
  25.            
  26.  echo ' <tbody>
  27.        <tr>
  28.             <td>'.$distrib->Contrato.'</td>
  29.             <td>'.$distrib->Cliente.'</td>
  30.             <td>'.$distrib->Matricula_tractora.'</td>
  31.             <td>'.$distrib->DNI_conductor.'</td>
  32.             <td>'.$distrib->Matricula_remolque.'</td>
  33.             <td>'.$distrib->Nombre_conductor.'</td>
  34.             <td>'.$distrib->Estado.'</td>         <-----------------------------
  35.        </tr>';        
  36.            
  37.    
  38.   }    
  39. }
  40. echo '</table>';


Yo lo puesto al principio y me pinta el botoncito antes de empecar la tabla pero las confirmadas que hay dentro de la tabla las pinta en texto
  #4 (permalink)  
Antiguo 11/11/2015, 11:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 10 años, 8 meses
Puntos: 2531
Respuesta: convertir resultado en un icono

Puedes usar una expresión ternaria para eso, así se aplica la misma lógica cuando concatenas texto:
Código PHP:
Ver original
  1. echo '<tag>'.($distrib->Estado == 'x' ? 'y' : 'z').'</tag>';
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/11/2015, 02:32
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 7 años, 9 meses
Puntos: 1
Respuesta: convertir resultado en un icono

con lo de la expresion ternaria me he quedado igual??
  #6 (permalink)  
Antiguo 12/11/2015, 02:47
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 7 años, 9 meses
Puntos: 1
Respuesta: convertir resultado en un icono

Solo me funciona una vez:



Código PHP:
Ver original
  1. if( $distrib->Estado === 'Confirmada' )
  2. { echo '<button type="button" class="btn btn-success">
  3.                        <i class="entypo-check"></i>
  4.                    </button>';
  5. }
  6. else
  7. {
  8.     echo $distrib->Estado; <-----------------------Esta si que me la pinta como icono-------
  9. }  
  10.  echo $distrib->Estado; <-------------------------Esta ya no , sale "Confirmada" en texto plano----
  11. echo '<table class="table  table-bordered table-striped datatable"  id="table-2">';
  12. echo    '<thead>';
  13. echo        '<tr class="success" >';
  14. echo            '<th>Contrato</th>';
  15. echo            '<th>Cliente</th>';
  16. echo            '<th>Matricula Tractora</th>';
  17. echo            '<th>DNI PASAPORTE</th>';
  18. echo            '<th>Matricula Remolque</th>';
  19. echo            '<th>Nombre</th>';
  20. echo            '<th>Estado</th>'; 
  21. echo        '</tr>';
  22. echo    '</thead>';
  23. if (is_array($distribuciones)) {
  24.   foreach($distribuciones as $distrib) {
  25.            
  26.  echo ' <tbody>
  27.       <tr>
  28.            <td>'.$distrib->Contrato.'</td>
  29.             <td>'.$distrib->Cliente.'</td>
  30.             <td>'.$distrib->Matricula_tractora.'</td>
  31.             <td>'.$distrib->DNI_conductor.'</td>
  32.             <td>'.$distrib->Matricula_remolque.'</td>
  33.             <td>'.$distrib->Nombre_conductor.'</td>';
  34.          echo   '<td>'.$distrib->Estado.'</td>';    <------------------------Yo quiero que me pinte esta
  35.    echo     '</tr>';        
  36.            
  37.    
  38.   }    
  39. }
  40. echo '</table>';
esto esta quedando asi:


Contrato Cliente Matricula Tractora DNI PASAPORTE Matricula Remolque Nombre Estado
COPI299/15 101222 1234 HLK 39345123K 4567 EDF Juan Moreno Confirmada
COPI299/15 101222 5678 EFG 39877892G 6536 DDE Pedro Rodriguez Confirmada
Autorizar Matrículas
  #7 (permalink)  
Antiguo 12/11/2015, 05:53
 
Fecha de Ingreso: febrero-2011
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 7 años, 9 meses
Puntos: 1
Respuesta: convertir resultado en un icono

me han ayudado por ahi:
Código PHP:
Ver original
  1. echo '<table class="table  table-bordered table-striped datatable"  id="table-2">';
  2. echo    '<thead>';
  3. echo        '<tr class="success" >';
  4. echo            '<th>Contrato</th>';
  5. echo            '<th>Cliente</th>';
  6. echo            '<th>Matricula Tractora</th>';
  7. echo            '<th>DNI PASAPORTE</th>';
  8. echo            '<th>Matricula Remolque</th>';
  9. echo            '<th>Nombre</th>';
  10. echo            '<th>Estado</th>';  
  11. echo        '</tr>';
  12. echo    '</thead>';
  13. function muestraEstado($estado)
  14. {
  15.     if($estado === 'Confirmada') {
  16.         echo '<button type="button" class="btn btn-success">
  17.            <i class="entypo-check"></i>
  18.        </button>';
  19.     } else {
  20.         echo $estado;
  21.     }
  22. }
  23.  
  24. if (is_array($distribuciones)) {
  25.  foreach($distribuciones as $distrib) {
  26.  
  27.  echo ' <tbody>
  28.        <tr>
  29.            <td>'.$distrib->Contrato.'</td>
  30.            <td>'.$distrib->Cliente.'</td>
  31.            <td>'.$distrib->Matricula_tractora.'</td>
  32.            <td>'.$distrib->DNI_conductor.'</td>
  33.            <td>'.$distrib->Matricula_remolque.'</td>
  34.            <td>'.$distrib->Nombre_conductor.'</td>
  35.            <td>'.muestraEstado($distrib->Estado).'</td>
  36.            </tr>';        
  37.  
  38.   }    
  39. }
  40. echo '</table>';

gracias de todas formas como siempre

Etiquetas: icono, resultado, variable
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 02:15.