【问题标题】: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 个不同表的表单结果,我该怎么做?结果肯定必须张贴在一张桌子上吗?

标签: php html mysql phpmyadmin xampp


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 2013-04-05
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 2020-02-29
      • 2018-01-01
      • 2017-08-30
      • 1970-01-01
      相关资源
      最近更新 更多