简体   繁体   English

如何在php中将具有相同值的行显示为一组

[英]how to display rows with same value in php as a group

DATABASE Structure: 数据库结构:

ID | USERID | ENTRYDATE | EXITDATE | PRICE | ROOMID
-----------------------------------------------------
1  | 2      | 2012-10-1 | 2012-10-4| 100   | 1 
2  | 2      | 2012-10-1 | 2012-10-4| 100   | 2 
3  | 2      | 2012-10-1 | 2012-10-4| 100   | 3 
4  | 2      | 2012-10-6 | 2012-10-9| 100   | 4 
5  | 2      | 2012-10-6 | 2012-10-9| 100   | 55

i need some help please. 我需要一些帮助。 I want to display a set of records from this database. 我想显示该数据库中的一组记录。 i want to display all those with same USERID, but group those with the same ENTRYDATE and EXITDATE in the same DIV. 我想显示所有具有相同USERID的用户,但将具有相同ENTRYDATE和EXITDATE的用户分组在同一DIV中。 example, the result should be like this... 例如,结果应该是这样的...

ID | USERID | ENTRYDATE | EXITDATE | PRICE | ROOMID
------------------------------------------------------
1  | 2      | 2012-10-1 | 2012-10-4| 100   | 1
2  | 2      | 2012-10-1 | 2012-10-4| 100   | 2
3  | 2      | 2012-10-1 | 2012-10-4| 100   | 3


ID | USERID | ENTRYDATE | EXITDATE | PRICE | ROOMID
----------------------------------------------------
4  | 2      | 2012-10-6 | 2012-10-9| 100   | 4
5  | 2      | 2012-10-6 | 2012-10-9| 100   | 5

I am not sure I understand your question correctly. 我不确定我是否正确理解您的问题。 I assume you have a string-indexed array and you want to split it basing on ENTRYDATE and EXITDATE values. 我假设您有一个字符串索引数组,并且您想根据ENTRYDATE和EXITDATE值对其进行拆分。 Maybe something like this: 也许是这样的:

$currentEntry = $data[0]['ENTRYDATE'];
$currentExit = $data[0]['EXITDATE'];
$splitted = array();
$i = 0;
foreach ($data as $row) {
  if ($row['ENTRYDATE'] == $currentEntry && $row['ENTRYDATE'] == $currentExit) {
    $splitted[$i] []= $row;
  } else {
    $currentEntry = $row['ENTRYDATE'];
    $currentExit = $row['EXITDATE'];
    $i++;
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM