Foros del Web » Programando para Internet » PHP »

Aplicar css

Estas en el tema de Aplicar css en el foro de PHP en Foros del Web. Hola a todos; Tengo un problema que no consigo resolver. Quiero aplicar un CSS segun el valor de un campo, pero no se lo que ...
  #1 (permalink)  
Antiguo 20/02/2010, 14:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Aplicar css

Hola a todos;
Tengo un problema que no consigo resolver.
Quiero aplicar un CSS segun el valor de un campo, pero no se lo que pasa pero no consigo que me funcione.

Este es el codigo que tengo

Código PHP:
  <?php do { ?>

  <?php 
    mysql_select_db
($database_videoquedada$videoquedada);
$query_leer "SELECT * FROM email WHERE email.recibe='2'";
$leer mysql_query($query_leer$videoquedada) or die(mysql_error());
$row_leer mysql_fetch_assoc($leer);
$totalRows_leer mysql_num_rows($leer);
  
  
$leido=$row_leer['leido'];
  
  if (
$leido='N'){
    
$leido="mensajesn"; }
    if (
$leido='Y'){
        
$leido="mensajess"; }
        
?>
        
        <div class="<?PHP echo $leido ?>" id="<?php echo $leido ?>" >
pero cuando hago un echo para ver que me esta sacando, en todos los registros me sale "mensajess", cuando hay algunos que deberia de darme el "mensajesn".
donde puede estar el problema?.

Un saludo
  #2 (permalink)  
Antiguo 20/02/2010, 14:54
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Aplicar css

Los condicionales se usan con doble =
Código PHP:
...
if (
$leido == 'N'){
    
$leido="mensajesn"; }
    if (
$leido == 'Y'){ 
... 
y si solo tienes esas dos opciones podrías reducir y tener una sola línea:
Código PHP:
 $leido = ($leido=='N')?'mensajesn':'mensajess'
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 20/02/2010, 16:05
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Aplicar css

Pues no me aplica el CSS
  #4 (permalink)  
Antiguo 21/02/2010, 04:15
 
Fecha de Ingreso: enero-2010
Mensajes: 22
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Aplicar css

Es posible que sea por el bucle? cada vez da una pasada hace una consulta nueva, por lo tanto siempre leerá el primer registro de la tabla...

De todas formas es un poco dificil darte una solución con lo que has posteado, piensa que casi hay que adivinar lo que quieres hacer, si pudieras poner algo más de codigo se te podría ayudar mejor.
  #5 (permalink)  
Antiguo 21/02/2010, 06:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Aplicar css

puede ir por ahi, pero no se como colocarlo para que me coloque bien el CSS. Aqui pongo el codigo
Código PHP:

$maxRows_benviados 
20;
$pageNum_benviados 0;
if (isset(
$_GET['pageNum_benviados'])) {
  
$pageNum_benviados $_GET['pageNum_benviados'];
}
$startRow_benviados $pageNum_benviados $maxRows_benviados;

mysql_select_db($database_videoquedada$videoquedada);
$query_benviados "SELECT *, gente1.nombre nombreus, gente1.id_usuario usuarioenvia, gente1.imagen_portada imagen, gente2.id_usuario usuariorecibe FROM email INNER JOIN usuarios gente1 ON gente1.id_usuario = email.envia  INNER JOIN usuarios gente2 ON gente2.id_usuario = email.recibe WHERE email.recibe='$envia' ORDER BY id_email DESC";
$query_limit_benviados sprintf("%s LIMIT %d, %d"$query_benviados$startRow_benviados$maxRows_benviados);
$benviados mysql_query($query_limit_benviados$videoquedada) or die(mysql_error());
$row_benviados mysql_fetch_assoc($benviados);

if (isset(
$_GET['totalRows_benviados'])) {
  
$totalRows_benviados $_GET['totalRows_benviados'];
} else {
  
$all_benviados mysql_query($query_benviados);
  
$totalRows_benviados mysql_num_rows($all_benviados);
}
$totalPages_benviados ceil($totalRows_benviados/$maxRows_benviados)-1;

$queryString_benviados "";
if (!empty(
$_SERVER['QUERY_STRING'])) {
  
$params explode("&"$_SERVER['QUERY_STRING']);
  
$newParams = array();
  foreach (
$params as $param) {
    if (
stristr($param"pageNum_benviados") == false && 
        
stristr($param"totalRows_benviados") == false) {
      
array_push($newParams$param);
    }
  }
  if (
count($newParams) != 0) {
    
$queryString_benviados "&" htmlentities(implode("&"$newParams));
  }
}
$queryString_benviados sprintf("&totalRows_benviados=%d%s"$totalRows_benviados$queryString_benviados);
$envia=$row_usuario['id_usuario'];
$leido=$row_benviados['leido'];
  
$leido = ($leido=='N')?'mensajesn':'mensajess'
aqui hago la consulta y le digo que me la rpita 20 veces.

Y aqui la consulta
Código PHP:
     <?php do { ?>
       <div class="<?PHP echo $leido ?>" id="<?PHP echo $leido ?>" >
         <table width="90%" border="0">
           <tr>
             <td width="52" rowspan="2" align="left"><img src="<?php echo $row_benviados['imagen']; ?>" alt="" name="" width="45" /></td>
             
             <td width="271"><p><a href="perfil_usuario.php?id=<?php echo $row_benviados['envia']; ?>"> <?php echo $row_benviados['nombreus']; ?></a></p>
             <p></p></td>
             <td width="109" rowspan="2"><form id="enviados" name="enviados" method="POST">
               <input name="id" type="hidden" id="id" value="<?php echo $row_benviados['id_email']; ?>" />
               <label>
                 <input name="button" type="submit" class="boton_blanco_peque" id="button" value="Eliminar" />
                </label>
             </form></td>
           </tr>
           <tr>
             <td><?php echo $row_benviados['asunto']; ?></td>
             </tr>
           <tr>
             <td>&nbsp;</td>
             <td><?php echo $row_benviados['fecha']; ?><?php echo $hola ?></td>
             <td><a href="leermail.php?id=<?php echo $row_benviados['id_email']; ?>&amp;leido=Y&amp;keepThis=true&amp;TB_iframe=true&amp;height=250&amp;width=350&amp;title="Enviar mensaje" class="thickbox" style="font-size: 12px">Leer</a></td>
             </tr>
         </table>
  </div>
       <?php } while ($row_benviados mysql_fetch_assoc($benviados)); ?>
He colocado el div por encima y debajo del
Código PHP:
 <?php do { ?>
con el mismo resultado, no me imprime el css, siempre me coje el ultimo.
Un saludo
  #6 (permalink)  
Antiguo 21/02/2010, 06:40
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola visona

Muevo tu tema al foro de PHP desde CSS.

Saludos,
  #7 (permalink)  
Antiguo 21/02/2010, 10:04
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Aplicar css

Para mi no debes complicarte tanto ,es simple como lo planteas al inicio del tema, $leido puede tomar dos valores : mensajesn y mensajess, dependiendo si $leido anteriormente tiene el valor "N o Y" (consejo, utiliza otro nombre para la variable $leido=$row_leer['leido']; ya que se confunde con la que defines luego ). Entonces con un of es simple (no copies y pegues):

if($leido == N){
$leido = mensajesn
}else {
$leido = mensajess
}

Presto!
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #8 (permalink)  
Antiguo 21/02/2010, 10:39
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Aplicar css

Pues no me toma los valores.
En la consulta tengo 4 registros 2 de ellos tiene el valor "N" y 2 el valor "Y" y siempre me saca el mismo para todos.
No puede ser que este mal colocado?
He echo una prueba, he colocado que me imprima la variable $leido y siempre me coloca "mensajesn" tambien imprimo el campo y este si que me saca bien los valores.

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




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