Tôi hiện đang có một sql và php vấn đề mà tôi sử dụng báo cáo này để có được tất cả mọi thứ từ các dịch vụ cũng như bảng liên quan của nó:MySQL dấu phẩy tách giá trị
$db = $this->getDbo();
$query = $db->getQuery(true);
// Select the required fields from the table.
$query->select(
$this->getState(
'list.select', 'a.*'
)
);
$query->from('`#__services_service` AS a');
$query->where("a.zone");
$query->select('zone.name AS zone, zone.description AS zone_description, zone.price AS zone_price, zone.interval_recommended AS interval_recommended');
$query->join('LEFT', '#__services_zones AS zone ON zone.id = a.zone');
$query->select('category.icon AS category');
$query->join('LEFT', '#__services_categories AS category ON category.id = a.category');
Nhưng trong bảng khu vực tôi tham gia, có dấu phẩy các giá trị tách biệt '1,2' và sau khi tạo một mảng kết hợp nơi tôi nhóm các dịch vụ vào vùng của chúng, dịch vụ số ít chỉ đi đến một vùng số ít, thay vì khi giá trị trong bảng là '1,2', nó phải ở cả hai khu vực ... Tôi có cảm giác đó là vì 'zone.name AS zone'
, bởi vì sau đó nó chỉ trả về một tên và nếu tôi nói 'zone AS zone'
, nó trả lại số được phân tách bằng dấu phẩy ...
Đây là cách tôi sắp xếp các mảng:
foreach($this->items as $item){
if(!isset($zones[ $item->zone ]))
$zone_items[ $item->zone] = array();
$zone_items[ $item->zone ][] = $item;
$zones[$item->zone] = array(
'zone' => $item->zone,
'zone_interval' => $item->interval_recommended,
'zone_description' => $item->zone_description,
'zone_price' => $item->zone_price,
'items' => $zone_items[$item->zone]
);
}
và tôi hiển thị nó bằng cách:
<?php foreach($zones as $zone): ?>
<div class="row-fluid zones-page">
<div class="row-fluid zone-title-block">
<div class="span4 zone-name"><h1><?php echo $zone['zone']; ?></h1></div>
<div class="span7 zone-description">
<?php echo $zone['zone_description']; ?>
<?php if($zone['zone_interval'] == 1): ?>
<span class="interval pull-right">Interval Recommended</span>
<?php endif; ?>
</div>
</div>
<?php foreach($zone['items'] as $items) :?>
<div class="row-fluid zone-services-contain">
<div class="span1"><div class="zone-icon"><?php //echo $items->category; ?></div></div>
<div class="span11 zone-services">
<h4><?php echo $items->name; ?></h4>
<div><?php echo $items->description; ?></div>
</div>
</div>
<?php endforeach; ?>
<div class="row-fluid zone-amount">
only <div><?php echo 'R' . $zone['zone_price']; ?></div>
</div>
</div>
<div class="bicycle-divider">
<div class="bicycle-icon"></div>
</div>
<?php endforeach; ?>
Any help is appreciated rất nhiều.
Bảng Services
trông giống như:
Và Zones
Bảng:
Bảng trông như thế nào? –
cái nào? .. dịch vụ, khu vực hoặc danh mục? –
Bảng vùng. –