Php 我的工会所有问题都需要建议

Php 我的工会所有问题都需要建议,php,mysql,sql,Php,Mysql,Sql,我的桌子是空的 user: userID - userLogo content: userID - contentID - contentImage promo: promoID - userID - promoImage 结果是 userID userLogo 4 ../images/user/000004.jpg 4 ../images/content/000003.jpg 4 ../images/content/000004.jpg 4 ..

我的桌子是空的

user: userID - userLogo content: userID - contentID - contentImage promo: promoID - userID - promoImage 结果是

userID userLogo 4 ../images/user/000004.jpg 4 ../images/content/000003.jpg 4 ../images/content/000004.jpg 4 ../images/content/000005.jpg 4 ../images/content/000006.jpg 4 ../images/promo/000003.jpg 4 ../images/promo/000004.jpg 4 ../images/promo/000005.jpg 用户标识用户标识 4../images/user/000004.jpg 4../images/content/000003.jpg 4../images/content/000004.jpg 4../images/content/000005.jpg 4../images/content/000006.jpg 4../images/promo/000003.jpg 4../images/promo/000004.jpg 4../images/promo/000005.jpg 得到的结果与我想要的非常相似,但列标题不是我想要的

关于php。。是否可以使用上面的查询取消结果中所有图像的链接

还有一个问题,关于效率,我的查询是否会给数据库带来沉重的负载?如果是,请给出建议或任何解决方案

谢谢

  • 当你使用Union。。。。首先选择语句列名将是结果表列名。。。要获取特定的列名,您需要像下面这样用作运算符
  • 如果桌子大,那就不是个好主意。。那时候你可以用JOIN

  • 您可以使用第三列,以便检查具有条件的图像类型

    SELECT 
        userID,
        userLogo,
        'userLogo' as Type 
    FROM user 
    WHERE userID=4
    
    UNION ALL
    
    SELECT 
        userID,
        contentImage,
        'contentImage' as Type 
        FROM content 
        WHERE userID=4
    
    UNION ALL
    
    SELECT 
        userID,
        promoImage,
        'promoImage' as Type 
    FROM promo 
    WHERE userID=4
    ORDER BY userID
    

    1.使用
    作为
    声明标题(足以作为
    联合中的第一部分
    )。2.是的,这是可能的。3.取决于数据大小和表结构。通常在一个问题中问3个问题不是一个好主意,尤其是在这种情况下,当这些问题与不同的事情相关时。最好单独问一个问题
    是否可以从php取消图像链接
    查询本身和数据库架构与该问题几乎不相关。注意,不会再这样做。当我使用join时,用户ID以distict值显示。。导致查询结果未显示完整的文件路径…文件路径取决于脚本…不在查询中..因此,请在适当的脚本中运行查询..但是!!!!如果路径字符串小于数据库路径字段大小,则可以增加数据库路径字段大小
    
    SELECT 
        userID,
        userLogo,
        'userLogo' as Type 
    FROM user 
    WHERE userID=4
    
    UNION ALL
    
    SELECT 
        userID,
        contentImage,
        'contentImage' as Type 
        FROM content 
        WHERE userID=4
    
    UNION ALL
    
    SELECT 
        userID,
        promoImage,
        'promoImage' as Type 
    FROM promo 
    WHERE userID=4
    ORDER BY userID