Author Topic: Cambiar el color de data-theme.  (Read 3673 times)

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Cambiar el color de data-theme.
« on: Julio 22, 2013, 02:57:45 am »
Hola, por favor quiero cambiar el color de una lista. Ahora mismo la tengo de color negro (<li data-theme="a"  >), y quiero que cuando la variable tipo en (<p><strong>Estado:</strong>&nbsp;<?php echo $row_Recordset1['tipo']; ?></p>) cambie el div tambien cambie de color. Como puedo hacerlo?

Quote
<?php do { ?>
           
          <ul data-role="listview" data-theme="b">
      
             <li data-theme="a"  >
              
               <a href="intervencionesdetalles.php?id_aviso=<?php echo $row_Recordset1['id_aviso']; ?>&telefonos=<?php echo $row_Recordset1['telefonos']; ?>&serie=<?php echo $row_Recordset1['serie']; ?>" data-ajax="false">
                
                <h3><?php echo $row_Recordset1['id_aviso']; ?>:&nbsp;<?php echo utf8_encode($row_Recordset1['sintoma']); ?></h3>
                 
                  <h3><?php echo $row_Recordset1['telefonos']; ?>&nbsp;&nbsp;<?php echo $row_Recordset1['movil']; ?></h3>
                
                <p><strong><?php echo utf8_encode($row_Recordset1['name']); ?>&nbsp;<?php echo utf8_encode($row_Recordset1['apellidos']); ?></strong></p>
                
                <p><?php echo utf8_encode($row_Recordset1['calle']); ?>&nbsp;&nbsp;<?php echo utf8_encode($row_Recordset1['numero']); ?>&nbsp;<?php echo utf8_encode($row_Recordset1['edificio']); ?>&nbsp;<?php echo utf8_encode($row_Recordset1['puerta']); ?>&nbsp;<?php echo utf8_encode($row_Recordset1['piso']); ?>&nbsp;<?php echo utf8_encode($row_Recordset1['letra']); ?></p>
                
                <p><?php echo $row_Recordset1['localidad']; ?></p>
                
                <p><i></i></p>
                
                
                
                <p><strong><?php echo $row_Recordset1['aparatos']; ?> | <?php echo $row_Recordset1['modelo']; ?> | <?php echo $row_Recordset1['marcas']; ?> | <?php echo $row_Recordset1['serie']; ?></strong></p>
                
                
                
                <p><strong>Fecha de emisión:</strong>
                  
                  <?php echo $row_Recordset1['emision']; ?>               
                  
                 <p><strong>Horario comprometido: </strong>
                    
                  10:30               <strong> hasta: </strong>
                    
                 11:30</p>
                
                <p><strong>Observaciones:</strong></p>
                
                <p><?php echo utf8_encode($row_Recordset1['observaciones']); ?><br /></p>
                
                <p><strong>Observaciones de Aviso:</strong></p>
                
                <p><br /><?php echo utf8_encode($row_Recordset1['privadas']); ?></p>
                
                <p><strong>Estado:</strong>&nbsp;<?php echo $row_Recordset1['tipo']; ?></p>
                 
                       
                </a>
               </li>
            
             </ul>
           <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>



Gracias
« Last Edit: Julio 22, 2013, 03:01:00 am by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5443
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Cambiar el color de data-theme.
« Reply #1 on: Julio 22, 2013, 04:35:46 am »
Hola:

Con php cambia el data-theme="b" por lo que quieras cuando la variable tipo cambie

Code: [Select]
<ul data-role="listview" data-theme="<=php ...algo para decidir el theme en funcion de tipo ?>">

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #2 on: Julio 22, 2013, 04:57:08 am »
Gracias, pero no te entiendo muy bien. Por favor puedes explicarme un poco mejor?

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #3 on: Julio 22, 2013, 05:30:44 am »
Lo he puesto así, pero siempre me da echo"e". Y la variable tipo es siempre PRESUPUESTO.

Quote
<li data-theme="<?
            if($row_Recordset1['tipo']='PRESUPUESTO') {
            echo"e";
            }else{   
            echo"a"; 
              }?>"


chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5443
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Cambiar el color de data-theme.
« Reply #4 on: Julio 22, 2013, 12:51:18 pm »
Hola:

Se compara con == no con =

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #5 on: Julio 22, 2013, 02:52:25 pm »
Gracias

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #6 on: Julio 23, 2013, 04:58:36 am »
Chuidiang, variables con fechas. Una es (fecha de recepción) y lo que quiero es tambien cambiar el data-theme si han pasado mas de dos dias de la fecha de recepción comparandola con la fecha actual. Puedes decirme como puedo puedo hacerlo?

Quote

             <li data-theme="<?
            if($row_Recordset1['urg']=="URGENTE") {
            echo"e";
            }else{   
            echo"a"; 
              }?>"


                         
Quote
  <p><strong>Fecha de recepción:</strong>
                  
                  <?php echo $row_Recordset1['recepcion']; ?>       
                
                 


Muchas gracias.

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5443
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Cambiar el color de data-theme.
« Reply #7 on: Julio 23, 2013, 05:16:51 am »
Echa un ojo a las funciones de php de fechas. Esta en concreto http://www.php.net/manual/es/datetime.diff.php te da la diferencia de dos fechas. Luego, como antes, un if y según sea pones el theme de una manera u otra.

Muevo esto a PHP....

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #8 on: Julio 23, 2013, 06:00:12 am »
Si pero mi sistema la funcion DateTime::diff() no la contempla.

Quote
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a días');
?>

Fatal error : Llamada a método no definido DateTime :: diff ()

Hay otra forma?
« Last Edit: Julio 23, 2013, 06:12:11 am by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5443
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Cambiar el color de data-theme.
« Reply #9 on: Julio 23, 2013, 12:18:56 pm »
No cuesta mucho encontarlo en google.... pásalo a fecha unix y la diferencia te da la dirferencia en segundos entre las dos fechas http://stackoverflow.com/questions/1940338/date-difference-in-php-on-days

Si no, ¿qué versión de PHP tienes?, DataTime:diff() es para PHP 5.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #10 on: Julio 23, 2013, 03:16:53 pm »
He puesto esto pero tengo un error en la linea: $f2='$row_Recordset1['recepcion']';

Quote
<?php
function diff_dte($date1, $date2){
       if (!is_integer($date1)) $date1 = strtotime($date1);
       if (!is_integer($date2)) $date2 = strtotime($date2); 
       return floor(abs($date1 - $date2) / 60 / 60 / 24);

 
 
//ejemplo de uso
$f1=date("Y-m-d");
$f2='$row_Recordset1['recepcion']';
 
$dias = diff_dte($f1,$f2);
echo"$dias";
?>


EDITO:


Que tengo mal?

<?php
function diff_dte($date1, $date2){
       if (!is_integer($date1)) $date1 = strtotime($date1);
       if (!is_integer($date2)) $date2 = strtotime($date2); 
       return floor(abs($date1 - $date2) / 60 / 60 / 24);

 
 
//ejemplo de uso
$f1=date("Y-m-d");
$f2= $row_Recordset1['recepcion'];
 
$dias = diff_dte($f1,$f2);
echo"$dias";
echo $row_Recordset1['recepcion'];
?>

<?php do { ?>
           
          <ul data-role="listview" data-theme="b">
      
             <li data-theme="<?
            if($row_Recordset1['urg']=="URGENTE") {
            echo"e";
            }if($dias >"2") {
            echo"c";
            }
            else{   
            echo"a"; 
              }?>"
« Last Edit: Julio 23, 2013, 03:56:13 pm by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5443
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Cambiar el color de data-theme.
« Reply #11 on: Julio 23, 2013, 03:34:04 pm »
No puedes poner ' dentro de las '  (no puedes poner las comillas de 'recepcion' dentro de las comillas de '$row...]'.
Alterna " y ' o bien escapa con \ las de dentro, o bien quita las comillas externas, que me da la impresión de que no sirven para nada.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: Cambiar el color de data-theme.
« Reply #12 on: Julio 23, 2013, 05:11:04 pm »
Parece que así funciona:
Quote
<?
function diff_dte($date1, $date2){
       if (!is_integer($date1)) $date1 = strtotime($date1);
       if (!is_integer($date2)) $date2 = strtotime($date2); 
       return floor(abs($date1 - $date2) / 60 / 60 / 24);

 
?>


<?php do { ?>
   
           
          <ul data-role="listview" data-theme="b">
      
             <li data-theme="<?
            if($row_Recordset1['urg']=="URGENTE") {
                echo"e";
                }
            else if($dias >= 2) {
                echo"c";
                }
            else{   
            echo"a"; 
              }?>"
              
              
                
                <p><strong>Fecha de recepción:</strong>
                  
                  <?php

 
//ejemplo de uso
$f1=date("Y-m-d");
$f2= $row_Recordset1['recepcion'];
 
$dias = diff_dte($f1,$f2);   
   
               
               
               
               
                echo $row_Recordset1['recepcion']; ?>       
                
               
               </li>
            
             </ul>
           <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>





Como lo ves?

 

ey