she*_*r73 5 php mysql database dynamic-programming
我需要一个PHP函数,它接受表或表以及这些db表中的必需列,并返回包含数据的html表.我知道如何为一张桌子做这个,但我正在努力使这个更有活力
我对一个表的思维将有一个函数,它的表名,然后列的一个阵列,然后就从表中选择的数据,然后通过它循环构建数据为html,然后返回从功能.
作为一个例子,我的数据库有两个表; 用户和订单
users
|----------------------------|
|user_id|first_name|last_name|
|-------|----------|---------|
orders
|----------------------|
|order_id|user_id|total|
|--------|-------|-----|
Run Code Online (Sandbox Code Playgroud)
现在,它上面所讨论的功能会很容易为所有用户或订单,但我希望做的是有一个功能,我可以动态连接表和表例如列表中的所有用户和他们的订单数量已制作或列出来自用户x的所有订单.我知道,这将有可能与许多不同的功能,但是我在发展中动态地这样做的方式,基本上所有建设的关系很感兴趣莫名其妙的程序,然后能够调用一个函数,并要求列x,y和ž
到目前为止,我的想法是(再次为这个例子)以某种方式定义它 number of orders for user i = count(order_id) where user_id = i
希望这是有道理的,并提前感谢你
该INFORMATION_SCHEMA.KEY_COLUMN_USAGE表可用于查找从特定表到其他表的所有外键关系,例如:
SELECT `TABLE_NAME`,
`COLUMN_NAME`,
`REFERENCED_TABLE_NAME`,
`REFERENCED_COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`KEY_COLUMN_USAGE`
WHERE `TABLE_SCHEMA` = SCHEMA() -- current schema
AND `REFERENCED_TABLE_NAME` IS NOT NULL
AND `TABLE_NAME` = 'orders'; -- name of table to get relationships to other tables
Run Code Online (Sandbox Code Playgroud)
这应该返回如下内容:
+--------------+-------------+-----------------------+------------------------+
| TABLE_NAME | COLUMN_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+--------------+-------------+-----------------------+------------------------+
| orders | user_id | users | user_id |
+--------------+-------------+-----------------------+------------------------+
Run Code Online (Sandbox Code Playgroud)
上述操作可以在 PHP 中完成,然后可以迭代结果以动态构造一个查询,该查询从这些表中进行选择,并连接列出的列。将该部分留作练习;-)