Foros del Web » Programando para Internet » PHP »

Mostrar si existe de diferentes tablas

Estas en el tema de Mostrar si existe de diferentes tablas en el foro de PHP en Foros del Web. Tengo una tabla llamada categoria y otra llamada publicaciones, en la tabla publicaciones hay una columna llamada idcategoria . Tengo un SELECT HTML en el ...
  #1 (permalink)  
Antiguo 19/11/2016, 17:21
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 10 meses
Puntos: 3
Mostrar si existe de diferentes tablas

Tengo una tabla llamada categoria y otra llamada publicaciones, en la tabla publicaciones hay una columna llamada idcategoria.
Tengo un SELECT HTML en el inicio de mi página donde me da las categorías.

La cosa es la siguiente, si tengo 40 categorías me muestra TODAS LAS CATEGORIAS en el select, como hago mostrar solamente las que ya están en publicación?

Es decir, si existe una publicación con el id de la categoría 1 me la devuelve, de lo contrario no la muestra.

Acá esta la función que me devuelve las categorias:

Código PHP:
function dameCategoria(){
        
$resultado false;
        
$consulta "SELECT id,nombre FROM categorias ORDER by nombrecategoria";

        
$conexion conectaBaseDatos();
        
$sentencia $conexion->prepare($consulta);
        try {
        if(!
$sentencia->execute()){
            
print_r($sentencia->errorInfo());
        }
        
$resultado $sentencia->fetchAll();
        
//$resultado = $sentencia->fetchAll(PDO::FETCH_ASSOC);
        
$sentencia->closeCursor();
    } 
Gracias y saludos..
  #2 (permalink)  
Antiguo 19/11/2016, 20:40
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Mostrar si existe de diferentes tablas

Y si lo enfocas al revés?
Seleccionar las distintas categorias que hay en la tabla de publicaciones, así seguro que habrá al menos una.
select distinct(publicaciones.idCategoria), categorias.nombre FROM publicaciones, categorias WHERE publicaciones.idCategoria = categorias.idCategoria
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.
  #3 (permalink)  
Antiguo 20/11/2016, 14:30
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 10 meses
Puntos: 3
Respuesta: Mostrar si existe de diferentes tablas

Disculpa, no te entendí muy bien.

Gracias por tu respuesta.
  #4 (permalink)  
Antiguo 21/11/2016, 17:56
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Mostrar si existe de diferentes tablas

Perdón, me quedó el mensaje a medias.
Decía que probases eso:
Código SQL:
Ver original
  1. SELECT DISTINCT(publicaciones.idCategoria), categorias.nombre FROM publicaciones, categorias WHERE publicaciones.idCategoria = categorias.idCategoria
En vez de sacar las categorías de la tabla 'categorias' la sacas de 'publicaciones', así te aseguras que la categoría tiene al menos una publicación.
Puedes añadir 'ORDER by categorias.nombre' al final para ordenarlos.
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.

Etiquetas: html, select, tabla, tablas
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:46.