Mysql数据到PHP数组,然后显示?

时间:2012-03-25 15:04:59

标签: php mysql arrays

好吧我在php / mysql上还是有点生疏。所以这可能不是实现我想要的最佳方法,所以让我知道我应该做些什么或如何实现这个目标:

我正在开发一个存储单元列表的小项目。 在我的数据库中,我有以下内容:

Unit id |  Area  |   Row   | Unit | Status         | 
        |  1-9   | 1 - 200 | 1-20 | Empty / Renter | 

单位ID由sector.section.unit

组成

现在我要做的是显示每个扇区和页面上的20个单元的列表。

1.  1.300.1  - Empty
2.  1.300.2  - John Doe - $75 Monthly - 10x10
...
19. 1.300.19 - Jane Evens - $40 Bi-Monthly - 10x10
20. 1.300.20 - Empty

我在想的是抓住区域1中的所有mysql数据后,在行300中将数据转换为php assosiative数组,由它的单位ID。然后只需为一行的20个单位执行for()语句。显示数组数据(如果有)。我怎么能这样做呢?

或者我应该继续前进,让数据库中的每个单位都为空,直到填满?

先谢谢你,

1 个答案:

答案 0 :(得分:0)

这里的代码有效。它创建临时表,用数字序列填充它,然后将该表与您的单位表连接起来。您将在没有任何记录的行上获得NULL。

CREATE TEMPORARY TABLE `sequence` (
  `Id` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

DELIMITER //
CREATE PROCEDURE fill_sequence()
BEGIN
  DECLARE v1 INT DEFAULT 20;
  WHILE v1 > 0 DO
INSERT sequence VALUES (NULL);
SET v1 = v1 - 1;
  END WHILE;
END //
DELIMITER ;

CALL fill_sequence();
SELECT * FROM sequence LEFT JOIN units ON (sequence.id = units.unit_id);