Foros del Web » Programando para Internet » PHP »

Poner imagen dependiendo de la categoría

Estas en el tema de Poner imagen dependiendo de la categoría en el foro de PHP en Foros del Web. Estoy creando una página en la cual los usuarios pueden subir posts. ¿Como puedo hacer para que aparezca una imagen diferente al lado del título ...
  #1 (permalink)  
Antiguo 28/12/2012, 19:33
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Poner imagen dependiendo de la categoría

Estoy creando una página en la cual los usuarios pueden subir posts. ¿Como puedo hacer para que aparezca una imagen diferente al lado del título dependiendo de la categoría que eligió el usuario al crear el post?.

Por ejemplo: Al crear el post el usuario elige la categoría de celulares y al lado del título quiero que aparezca una imagen de un celular.

Algo como esto:



Gracias.
  #2 (permalink)  
Antiguo 28/12/2012, 19:49
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Poner imagen dependiendo de la categoría

cada categoria debe tener un numero o algo que lo identifique de esa forma relacionar el tipo de post con la imagen, al momento de ir mostrando los titulos de cada post ir validando que categoria es para colocar su imagen
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #3 (permalink)  
Antiguo 28/12/2012, 19:57
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Información Respuesta: Poner imagen dependiendo de la categoría

Hola Mausito,

para ello no necesitas otra cosa que usar condiciones, ejemplo:

Código PHP:
if($categoria==1)
  echo 
"<img src=\"foto1.png\"/>";
elseif(
$categoria==2)
  echo 
"<img src=\"foto2.png\"/>";
elseif(
$categoria=='N')
  echo 
"<img src=\"fotoN.png\"/>"
Si quieres que sea un poco más elegante puedes usar el switch

Código PHP:
switch($categoria)
{
  case 
1:
    echo 
"<img src=\"foto1.png\"/>";
  break;
  case 
2:
    echo 
"<img src=\"foto2.png\"/>";
  break;
  case 
"N":
    echo 
"<img src=\"fotoN.png\"/>";
  break;

Si son pocas categorias y/o fotos las soluciones anteriores pueden ayudarte fácilmente, pero si tienes entre manos muchas categorias y/o imagenes es mejor encapsular el código en una función, ejemplo:

Código PHP:

// Primero declaramos (creamos) la función
function dameFoto($numero_categoria)
{
    
// OJO! fijate que uso return para devolver el html de la imagen
    
switch($numero_categoria)
    {
      case 
1:
        return 
"<img src=\"foto1.png\"/>";
      break;
      case 
2:
        return 
"<img src=\"foto2.png\"/>";
      break;
      case 
"N":
        return 
"<img src=\"fotoN.png\"/>";
      break;
    }    
}

// y para usar la función escribimos
echo dameFoto(2); // Donde el 2 es el número de la categoria 
Espero que te ayude.

Felices fiestas,

Synkronice
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill

Última edición por Synkronice; 28/12/2012 a las 20:14 Razón: Se me olvidó el ; al final de las sentencias y escapar las comillas dobles :-)
  #4 (permalink)  
Antiguo 28/12/2012, 21:30
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Poner imagen dependiendo de la categoría

es que en teoría debería de haber una asociación entre la imagen y la categoría como dice By_George de manera que cuando se traiga de la db ya de una vez venga con la imagen, ya que haciendolo por código sería imantenible al momento de crecer el sitio imagina que tienes 2000 categorías cuantos condicionales son?? o si en algún momento quieres cambiar la imagen de la categoría, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: iconos, imagenes
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 12:24.