2013-03-25 103 views
0

我有两个具有相同的数据,但拖行只有一个单元不同于其他像这样: -如何合并两种细胞在一个细胞

Customer Name | No Room | Room Type 
Maikle dived   2    single 
Maikle dived   1    double 

所以我不会合并在这样一个小区客户: -

Customer Name | No Room | Room Type 
         2    single 
    Maikle dived    
         1    double 

我如何通过PHP和MySQL

+1

没有必要使用MySQL,你可以自定义你的表,而打印出来...... – 2013-03-25 18:36:56

+0

你只是想格式化这样的表输出? – brbcoding 2013-03-25 18:37:22

+0

你想做什么?输出格式或数据库设计?将'Customer Name'保存为另一个表的引用(外键)。这样您的表格如下所示: '客户ID:1 |无房:2 |房间类型:single',其中'Customer ID'是另一张存储名称(以及其他附加信息)的表格的引用 – simplyray 2013-03-25 18:38:21

回答

0

做到这一点。如果你想输出为HTML,然后做以下操作:

//$source should hold the data from DB 
$source = array(
    array('Maikle dived' => array('No Room' => 2, 'Room Type' => 'single'), 
    array('Maikle dived' => array('No Room' => 1, 'Room Type' => 'double'), 
); 

$result = array(); 

foreach($source as $item) { 
    $user = key($item); 
    $val = current($item); 

    if(!isset($result[$user])) { 
     $result[$val] = array(); 
    } 
    $result[$user][] = $val; 
} 

那么你可以遍历$结果建立HTML

foreach($result as $user => $vals) { 
    echo $user; 
    echo '<ul>'; 
    foreach($vals as $val) { 
     echo '<li>'.$val.'</li>'; 
    } 
    echo '</ul>'; 
} 
+0

我怎么能不能,但我的结果从DB到数组?我的查询是'select * from hotel,room,customer where hotel.hotel_customer_id = customer.customer_id and hotel.hotel_id = room.room_hotel_id' – 2013-03-25 18:52:15