Foros del Web » Programando para Internet » PHP »

No mostrar enlace si un campo de la base de datos está vacío

Estas en el tema de No mostrar enlace si un campo de la base de datos está vacío en el foro de PHP en Foros del Web. Hola! Tengo varios enlaces en la web que saco con una condición, que es que uno de los campos de la base de datos tome ...
  #1 (permalink)  
Antiguo 05/03/2014, 04:12
 
Fecha de Ingreso: marzo-2014
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
No mostrar enlace si un campo de la base de datos está vacío

Hola!
Tengo varios enlaces en la web que saco con una condición, que es que uno de los campos de la base de datos tome un valor mayor o igual que el otro (intHasta >= intDe). A eses enlaces les tengo asignado una clase (boton) y unas reglas css. Cuando la condición no se cumple no salen, salvo el primero. El primero sale el botón del enlace vacío, es decir, no aparece el número que le paso y que imprimo con el echo.

El codigo es éste:

<a href="2bachmatesejerciciossol.php?recordTema=<?php echo $row_Datos2bachmatesejercicios['intTema']; ?>&recordintDe=<?php echo $row_Datos2bachmatesejercicios['intDe']; ?>" <?php if ($row_Datos2bachmatesejercicios['intHasta'] >= $row_Datos2bachmatesejercicios['intDe']) {?> class="boton" target="_blank" <?php } ?> > <?php if($row_Datos2bachmatesejercicios['intHasta'] >= $row_Datos2bachmatesejercicios['intDe']) echo $row_Datos2bachmatesejercicios['intDe']; ?></a>

Lo que quería hacer es que cuando alguno de los campos de la base de datos, intHasta o intDe, estén vacíos no salga ningún enlace, pero no sé cómo hacerlo.
Gracias.
  #2 (permalink)  
Antiguo 05/03/2014, 06:52
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: No mostrar enlace si un campo de la base de datos está vacío

Asi

Código PHP:
<?php
if(trim($row_Datos2bachmatesejercicios['intHasta'])!="" && trim($row_Datos2bachmatesejercicios['intDe'])!=""){ //SI LOS DOS TIENEN DATOS, SE MUESTRA ?>
<a href="2bachmatesejerciciossol.php?recordTema=<?php echo $row_Datos2bachmatesejercicios['intTema']; ?>&recordintDe=<?php echo $row_Datos2bachmatesejercicios['intDe']; ?>"<?php if ($row_Datos2bachmatesejercicios['intHasta'] >= $row_Datos2bachmatesejercicios['intDe']) {?> class="boton" target="_blank" <?php ?> > <?php if($row_Datos2bachmatesejercicios['intHasta'] >= $row_Datos2bachmatesejercicios['intDe']) echo $row_Datos2bachmatesejercicios['intDe']; ?></a>
<?php ?>
  #3 (permalink)  
Antiguo 05/03/2014, 08:53
 
Fecha de Ingreso: marzo-2014
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: No mostrar enlace si un campo de la base de datos está vacío

No me funciona. Sigue apareciendo el enlace. Pero a lo mejor es que no me he explicado bien antes. Dejo un enlace a la página para que se vea bien lo que cuento:
http://matesfisicayquimica.hol.es/2bachquimicaejercicios.php?pageNum_Datos2bachquimi caejercicios=0&totalRows_Datos2bachquimicaejercici os=8&recordTema=6
El enlace del que hablo está en la parte superior de la página, donde pone "Soluciones a los ejercicios:". Si las soluciones están puestas ahí aparecen los números de los ejercicios y haciendo click se muestran. El problema es que cuando no las tengo puestas no quiero que aparezca ese enlace que lleva a una página en blanco.
Muchas gracias.
  #4 (permalink)  
Antiguo 07/03/2014, 04:23
 
Fecha de Ingreso: marzo-2014
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: No mostrar enlace si un campo de la base de datos está vacío

Alguien me puede ayudar, por favor!
  #5 (permalink)  
Antiguo 07/03/2014, 04:38
 
Fecha de Ingreso: marzo-2014
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: No mostrar enlace si un campo de la base de datos está vacío

La respuesta que me dió enLinea777 es correcta. Funciona! Ha sido un fallo mío.
Podría añadir un poco más de código y poner un mensaje de aviso, si los campos están vacíos? ¿Cómo podría hacerlo?
Muchas gracias

Etiquetas: campo, enlace
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 18:34.