Php 对数据库表中的数据进行排序

Php 对数据库表中的数据进行排序,php,mysql,database,Php,Mysql,Database,我有一个包含四个表的数据库: 1数据库-保存不同的数据集 CREATE TABLE IF NOT EXISTS `databases` ( `id` int(11) NOT NULL, `name` varchar(200) NOT NULL, `title` varchar(200) NOT NULL COMMENT 'label for the database', `auto_width` tinyint(4) NOT NULL DEFAULT '1',

我有一个包含四个表的数据库:

1数据库-保存不同的数据集

CREATE TABLE IF NOT EXISTS `databases` (
    `id` int(11) NOT NULL,
    `name` varchar(200) NOT NULL,
    `title` varchar(200) NOT NULL COMMENT 'label for the database',
    `auto_width` tinyint(4) NOT NULL DEFAULT '1',
    `set_width` int(11) NOT NULL DEFAULT '0',
    `date_created` int(11) NOT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
2个数据库字段-保存数据库中的不同字段。每个数据库都有几个字段,用户可以将数据保存到这些字段中

CREATE TABLE IF NOT EXISTS `database_fields` (
    `id` int(11) NOT NULL,
    `database_id` int(11) NOT NULL,
    `column_id` varchar(20) NOT NULL,
    `description` text NOT NULL,
    `min_num_characters` int(11) NOT NULL,
    `max_num_characters` int(11) NOT NULL,
    `type` varchar(10) NOT NULL,
    `editable` int(11) NOT NULL DEFAULT '1',
    `displayed` int(11) NOT NULL DEFAULT '1',
    `start_value` text NOT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=98 ;
3数据库数据-在数据库中保存不同的行

CREATE TABLE IF NOT EXISTS `database_data` (
    `id` int(11) NOT NULL,
    `database_id` int(11) NOT NULL,
    `title` varchar(100) NOT NULL,
    `status` int(11) NOT NULL DEFAULT '1' COMMENT '1 =Active, 2 =Deleted.',
    `date_added` int(11) NOT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3586 ;
4个数据库字段值-保存每个数据库中不同字段的值:

CREATE TABLE IF NOT EXISTS `database_fields_values` (
    `id` int(11) NOT NULL,
    `database_id` int(11) NOT NULL,
    `data_id` int(11) NOT NULL,
    `field_id` int(11) NOT NULL,
    `field_value` text NOT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=24351 ;
我可以通过循环每个db下的不同字段来查询表中的数据,并使用三个键(database_id、data_id和field_id)通过简单的查询读取数据。但是我不确定如何使用database_fields_values表中的一个字段(基本上按field_value字段排序)来检索数据,但在某些情况下,所有行可能没有该字段的值,即对于行x,数据库中可能没有字段“field_x”的条目


我不确定我的解释是否通俗易懂,如果通俗易懂,请帮助我,我们将不胜感激。

学习SQL;我也不确定你的解释是否可以理解,但上面的建议是合理的。你的解释可以理解,但不完整。您希望您的查询检索到什么?到目前为止您尝试了什么?@Bacs:感谢您的兴趣,抱歉造成混淆,我尝试的是创建一个特定“数据库”中所有行的列表-例如-[link]是这样一个“数据库”的屏幕截图,名称为Customer DB和Order,Customer,传递等是数据库字段表中的“字段”,每行是数据库字段数据中的一个条目,每个字段值保存在数据库字段值表中,有三个键-数据库id、数据id、字段_id@Bacs:由于字符数限制而继续-我可以毫无问题地获取行,但我还需要在概念上按“字段”按列对表进行排序——我不知道如何在单个查询中实现,dfv表中可能没有所有字段的条目——因为稍后可能会添加一些字段——如屏幕截图中所示,交付和拣选字段可能在dfv表中没有数据库数据表中所有行的条目。这是我正在尝试的查询--但似乎不起作用,请帮助解决。