Foros del Web » Programando para Internet » PHP »

Reemplazar imagen dependiendo de valor MySQL

Estas en el tema de Reemplazar imagen dependiendo de valor MySQL en el foro de PHP en Foros del Web. Código PHP:      echo  "<table class=\"art-article\" width=\"1324px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" ;     echo  "<tbody>" ;     echo  "<tr>" ;     echo  "  <th>Correo</th>" ;     echo  "  <th>Centro</th>" ;     echo  "  <th>Planta</th>" ;     echo  "  <th>Mes</th>" ;     echo  ...
  #1 (permalink)  
Antiguo 08/04/2010, 11:31
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Reemplazar imagen dependiendo de valor MySQL

Código PHP:
    echo "<table class=\"art-article\" width=\"1324px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    echo 
"<tbody>";
    echo 
"<tr>";
    echo 
"  <th>Correo</th>";
    echo 
"  <th>Centro</th>";
    echo 
"  <th>Planta</th>";
    echo 
"  <th>Mes</th>";
    echo 
"  <th>A&ntilde;o</th>";
    echo 
"  <th>fecha_solicitud</th>";
    echo 
"  <th>IP</th>";
    echo 
"  <th>Hostname</th>";
//    echo "  <th>message</th>";
    
echo "  <th>autorizacion</th>";
    echo 
"</tr>";

while(
$row mysql_fetch_row($result))
{
    echo 
"<tr>";
    
// $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    
foreach($row as $cell)
        echo 
"<td>$cell</td>";
        if (
$cell['autorizacion'] = 'NULL')
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        }
    echo 
"</tr>\n";
}
    echo 
"</tbody></table>"

Con este código lo que me hace es poner en el campo "Autorización" la Imagen "X.png". Pero NO se cumple la condición de la Imagen "Checkmark.png"


Código PHP:

                
if ($cell['autorizacion'] == 'NULL')
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        elseif   (
$cell['autorizacion'] != 'NULL')
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        } 

Con este código lo que me hace es poner en el campo "Autorización" la Imagen "X.png". Pero NO se cumple la condición de la Imagen "Checkmark.png"


Código PHP:

                
if ($cell['autorizacion'] = 'NULL')
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        elseif   (
$cell['autorizacion'] != 'NULL')
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        } 

Con este código lo que me hace es poner en el campo "Autorización" la Imagen "Checkmark.png". Pero NO se cumple la condición de la Imagen "X.png"

No logro hacer que se cumplan las dos condiciones.....

En caso de que Autorización sea = 'NULL' coloca "X.png"

de lo contrario coloca "Checkmark.png"
  #2 (permalink)  
Antiguo 08/04/2010, 11:33
N4X
 
Fecha de Ingreso: enero-2010
Mensajes: 23
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Código PHP:
Ver original
  1. if ($cell['autorizacion'] = null)


no es un texto es un tipo
  #3 (permalink)  
Antiguo 08/04/2010, 11:52
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 7 meses
Puntos: 40
Respuesta: Reemplazar imagen dependiendo de valor MySQL

En el primer ejemplo que pones, en el if tienes el signo "=", es una condicion, tienes que tener "==".


Un saludo
  #4 (permalink)  
Antiguo 08/04/2010, 11:55
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

N4X.....

Mil gracias por tu respuesta....

No me funcionó...... Y tienes razón.... Yo lo estoy poniendo como cadena.....

Ya le quite los apostrofos y No me funciona......

Alguna sugerencia demás.....

Saludos....
  #5 (permalink)  
Antiguo 08/04/2010, 12:05
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Código PHP:

        
if ($cell['autorizacion'] == NULL)
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        }     echo 
"</tr>\n"
Algo anda bastante mal conmigo.... Sigue sin jalar la condición....

O me pone todas las casillas con la Imagen " Checkmark.png "

Código PHP:

if ($cell['autorizacion'] = NULL
O me pone todas las casillas con la Imagen " X.png "

Pero lo que alcanzo a ver es que solo se cumple la Primera condicion del IF.......
Y nunca llega a realizar el ELSE......

Una ayudadita demás..... jejejejeje


Saludos....

  #6 (permalink)  
Antiguo 08/04/2010, 12:07
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Reemplazar imagen dependiendo de valor MySQL

yo digo lo mismo de los demas,
quita todos los apostrofos en los null y los = deben ser ==
ya que =.. es como si dijeras "a es igual a b" y con == es como si dijeras "¿a es igual a b?"
obviamente exepto en el !=
  #7 (permalink)  
Antiguo 08/04/2010, 12:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Reemplazar imagen dependiendo de valor MySQL

O si no prueba mejor con empty():
Código PHP:
Ver original
  1. if (empty($cell['autorizacion']))

Saludos.
  #8 (permalink)  
Antiguo 08/04/2010, 12:14
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Código PHP:
    echo "<table class=\"art-article\" width=\"1324px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    echo 
"<tbody>";
    echo 
"<tr>";
    echo 
"  <th>Correo</th>";
    echo 
"  <th>Centro</th>";
    echo 
"  <th>Planta</th>";
    echo 
"  <th>Mes</th>";
    echo 
"  <th>A&ntilde;o</th>";
    echo 
"  <th>fecha_solicitud</th>";
    echo 
"  <th>IP</th>";
    echo 
"  <th>Hostname</th>";
//    echo "  <th>message</th>";
    
echo "  <th>autorizacion</th>";
    echo 
"</tr>";

while(
$row mysql_fetch_row($result))
{
    echo 
"<tr>";
    
// $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    
foreach($row as $cell)
        echo 
"<td>$cell</td>";
        if (empty(
$cell['autorizacion']))
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        }
    echo 
"</tr>\n";
}
    echo 
"</tbody></table>"



Código PHP:

                
if (empty($cell['autorizacion']))
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        } 
  #9 (permalink)  
Antiguo 08/04/2010, 12:45
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

En un principio estoy declarando la "autorizacion" como NULL.....

<input type="hidden" name="autorizacion" value="NULL">

Pero ahora para declarar la cadena vacia hago lo siguiente:

<input type="hidden" name="autorizacion" value="">

Código PHP:

if (empty($cell['autorizacion']))
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        } 
Segun esta condición debio de aparecer la imagen X.png por encontrar un Registro VACIO.....

Pero se me va al else... y por tanto me sale la imagen de Checkmark.png

Creo que la Tabla detecta una "Cadena Vacia"..... vdd...????

Entonces como mando un Empty....????

  #10 (permalink)  
Antiguo 08/04/2010, 13:01
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Si quito la línea sale igual que el anterior...

<!--<input type="hidden" name="autorizacion" value="">-->

Aquí solo estoy comentando la línea de "autorizacion"

y la condición lee hasta ELSE....

por lo que me despliega la imagen Checkmark.png
  #11 (permalink)  
Antiguo 08/04/2010, 14:51
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Repasemos todo denuevo, como recibes el valor que esta en value de ese input? supongo que con un formulario a traves de POST, y ese valor lo guardas en una base de datos cierto? ese valor puede ser estar vacio, tener el valor null (como habias declarado antes) o cualquier otro.

Inicialmente pensamos que con NULL te referias a una fila que estaba vacia, por eso colocamos empty(); pero no era asi, se referia a una cadena de texto, por lo cual estaba bien como lo habias declarado con los apostrofos, puedes darme más detalles?
  #12 (permalink)  
Antiguo 08/04/2010, 15:11
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

FORMULARIO
Código PHP:
$date date("Y-m-d");
$ip $_SERVER['REMOTE_ADDR'];
$hostname gethostbyaddr($_SERVER['REMOTE_ADDR']); 
<input type="hidden" name="ip" value="<?php echo $ip ?>">
<input type="hidden" name="host" value="<?php echo $hostname ?>">
<!--<input type="hidden" name="autorizacion" value="">-->
<input type="hidden" name="fecha_solicitud" value="<?php echo $date ?>">

Archivo POST:

Código PHP:
insert into dco.Modificar_key (correo,nomb_cen,nomb_plan,mes,anio,IP,hostname,fecha_solicitud,message,autorizacionvalues 
        
('$_REQUEST[correo]','$_REQUEST[paises]','$_REQUEST[estados]','$_REQUEST[mes]','$_REQUEST[anio]','$_REQUEST[ip]','$_REQUEST[host]','$_REQUEST[fecha_solicitud]','$_REQUEST[message]','$_REQUEST[autorizacion]'); 

Archivo que despliega la tabla y las imagenes:

Código PHP:
$result mysql_query("select correo,lista_paises.opcion,lista_estados.opcion,mes,anio,fecha_solicitud,IP,hostname from dco.Modificar_key join lista_paises on dco.Modificar_key.nomb_cen=lista_paises.id 
join lista_estados on dco.Modificar_key.nomb_plan=lista_estados.id;"
);


if (!
$result) {
    die(
"Query to show fields from table failed");
}

    echo 
"<table class=\"art-article\" width=\"1324px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    echo 
"<tbody>";
    echo 
"<tr>";
    echo 
"  <th>Correo</th>";
    echo 
"  <th>Centro</th>";
    echo 
"  <th>Planta</th>";
    echo 
"  <th>Mes</th>";
    echo 
"  <th>A&ntilde;o</th>";
    echo 
"  <th>fecha_solicitud</th>";
    echo 
"  <th>IP</th>";
    echo 
"  <th>Hostname</th>";
//    echo "  <th>message</th>";
    
echo "  <th>autorizacion</th>";
    echo 
"</tr>";

while(
$row mysql_fetch_row($result))
{
    echo 
"<tr>";
    
// $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    
foreach($row as $cell)
        echo 
"<td>$cell</td>";
        if (empty(
$cell['autorizacion']))
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        }  
}
    echo 
"</tr>\n";
    echo 
"</tbody></table>"
  #13 (permalink)  
Antiguo 09/04/2010, 15:55
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Reemplazar imagen dependiendo de valor MySQL

Siempre así fue como me quedó....

Y funciona bastante bien...

En la condición If declaré == NULL Lo que hace es comparar si mi campo "Autorización" está vacío ya que lo he definido dentro de la Tabla

Código MySQL:
Ver original
  1. +-----------------+-------------+------+-----+---------+
  2. | Field           | Type        | Null | Key | Default |
  3. +-----------------+-------------+------+-----+---------+
  4. | correo          | varchar(40) | NO   |     | NULL    |
  5. | nomb_cen        | varchar(50) | NO   |     | NULL    |
  6. | nomb_plan       | varchar(60) | NO   |     | NULL    |
  7. | mes             | char(3)     | NO   |     | NULL    |
  8. | anio            | int(4)      | NO   |     | NULL    |
  9. | IP              | varchar(17) | NO   |     | NULL    |
  10. | hostname        | varchar(30) | NO   |     | NULL    |
  11. | fecha_solicitud | date        | NO   |     | NULL    |
  12. | message         | text        | NO   |     | NULL    |
  13. | autorizacion    | char(10)    | YES  |     | NULL    |
  14. +-----------------+-------------+------+-----+---------+
  15. 10 rows in set (0.06 sec)
Código PHP:

while($row mysql_fetch_row($result))
{
    echo 
"<tr>";
    
// $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    
foreach($row as $cell)
        echo 
"<td>$cell</td>";
                if (
$cell['autorizacion'] == NULL)
        {
                echo 
"<TD><img src='images/X.png'></TD>";
        }
        else
        {
                echo 
"<TD><img src='images/Checkmark.png'></TD>";
        }  
}
    echo 
"</tr>\n"
Saludos y mil gracias por la ayuda....

Etiquetas: dependiendo, mysql, reemplazar
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 14:19.