我可以根据查询制作表格吗?就像我数据库中不同字段/表的表单一样

Posted

技术标签:

【中文标题】我可以根据查询制作表格吗?就像我数据库中不同字段/表的表单一样【英文标题】:Can i make a form, based on a query? As in a form from different fields/tables within my database 【发布时间】:2013-02-25 17:17:52 【问题描述】:

从标题,你大概可以看出我是个业余爱好者。但是,我想为我的 mysql/php 站点创建一个表单,它需要来自整个数据库中不同表的字段。这可能吗?还是我需要创建一个包含所有必要字段的表?

另外,是否可以保存此表单的输出并根据要求查看所有输出?

提前致谢。

如果我遗漏了什么,请提出任何问题。我保持简短,因为我认为这可能是一个简单的问题:@!

真的很感激。

【问题讨论】:

数据库中的表与 PHP 代码或 html 中呈现的表单完全没有关系,因此不需要 1:1 的表单与表设置。您向用户显示的表单可以包含您想要的任何字段,当您在 PHP 中收到表单 POST 时,您的应用程序逻辑必须将字段放入正确的表中。 是的,这是一个简单的问题。但这可能需要比这里的主题更多的辅导。你可以说得更详细点吗?使用数据库表结构?还是设想的形式?至少发布一些您尝试过的代码。 你试过什么代码? 事实上,数据库并不知道 PHP 代码或 HTML 标记的存在。它所知道的只是它接收到的命令(来自您的 PHP 代码) 但如果我想查看来自至少 3 个不同表的表单结果,我该怎么做?结果肯定必须张贴在一张桌子上吗? 【参考方案1】:

是的,你可以! PHP 使用函数echo 将数据打印到HTML 页面。这意味着您可以先从数据库中读取数据,然后使用IF 打印不同的 HTML 表单。

例如(伪代码):

$in=getFrom(DB);

if($in['key']=="value")

    echo ".....specific HTML....... ";

else

     echo ".....alternative HTML....... ";

【讨论】:

【参考方案2】:

我不确定我是否正确理解了您的问题,但是..

如果您想组合来自不同表的数据,您希望使用JOIN 执行数据库查询

例如,如果您有一张人的桌子和一张宠物的桌子,您可以通过以下方式将这些数据合并到同一个输出中:

select * from persons 
left outer join pets on (pets.person_id = persons.id)

现在,如果你想“保存这个输出”,你应该创建一个VIEW

create view persons_and_their_pets as 
    (
    select * from persons 
    left outer join pets on (pets.person_id = persons.id)
    )

您现在可以通过以下方式访问这些数据:

select * from persons_and_their_pets

【讨论】:

以上是关于我可以根据查询制作表格吗?就像我数据库中不同字段/表的表单一样的主要内容,如果未能解决你的问题,请参考以下文章

自动表格填写 ms 访问

当字段名称是动态的时,vba 制作表格

vue根据表格字段不同的状态显示不同的颜色。

vue根据表格字段不同的状态显示不同的颜色。

如何创建具有选择的多个用户模型?

SQLSERVER如何在数据库里根据某个字段,查出该表名字