【问题标题】:Display mysql join/union results differently based on table根据表以不同方式显示 mysql join/union 结果
【发布时间】:2009-02-11 19:01:50
【问题描述】:

我需要按照输入到表中的日期顺序从多个表中生成活动列表,但是当我将它们吐出时(使用 php),我希望每个结果看起来都特定于我的设计对于每张桌子。

即...我有桌子:listingsphotoscomments

  • listing 的结果应该以某种方式设计,photos 的结果应该以不同的方式设计,cmets 的结果应该以第三种方式设计。
  • 我想将所有三个表的结果合并到一个按日期排序的列表中。

我可以通过 MySQL 连接拉取结果,但我不知道如何根据表更改结果。

这有意义吗?

【问题讨论】:

    标签: php mysql join union


    【解决方案1】:

    流程是这样的:

    • 查询数据库,返回按日期排序的结果
    • 迭代结果创建表,根据日期/变量,您将为正在创建的当前行分配一个 CSS 类。 (使用 if/switch/function 等来确定应该分配什么类)
    • 迭代完成后,完成表格/等并显示。

    【讨论】:

    • (使用 if/switch/function 等来确定应该分配哪个类)...我想我缺少的是如何判断结果来自哪个表?我可以从列中得到结果,但我不知道如何识别它在哪个表中......
    • 当您查询时,您可以对命名约定执行类似的操作: SELECT myTable1.value1 as value1, myTable2.value2 as value2 FROM myTable1 LEFT JOIN myTable2 ON (myTable1.id=myTable2.id) ORDER通过 myTable1.date;当您获得结果时,您将拥有 value1 和 value2 而不是列名。
    • 这些结果假定您将使用 mysql_fetch_assoc 或 mysql_fetch_array 而不是 mysql_fetch_rows。您将需要一个关联数组,您可以从该数组中读取键来判断您正在使用哪个结果列。
    猜你喜欢
    • 1970-01-01
    • 2013-10-07
    • 2013-01-15
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    相关资源
    最近更新 更多