Im Moment habe ich eine SQL und PHP-Problem, wo ich diese Anweisung verwenden alles von Dienstleistungen zu erhalten sowie die zugehörigen Tabellen:MySQL comma separated values
$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');
Aber in der Zonentabelle I kommen, gibt es Komma getrennte Werte '1,2' und nach dem Erstellen eines assoziativen Arrays, wo ich die Dienste zu ihren Zonen gruppieren ein einzelner Service geht nur in eine singuläre Zone, anstatt, wenn der Wert in der Tabelle '1,2' ist, sollte es in beiden sein Zonen ... Ich habe das Gefühl, es ist wegen 'zone.name AS zone'
, denn dann gibt es nur einen Namen zurück und wenn ich sage 'zone AS zone'
gibt es Komma getrennte Zahlen ...
Hier ist, wie ich das Array sortieren:
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]
);
}
und ich zeige es durch:
<?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; ?>
Jede Hilfe wird sehr geschätzt.
Die Services
Tabelle wie folgt aussieht:
Und die Zones
Tabelle:
Wie sieht die Tabelle aus? –
welche? .. die Dienste, Zonen oder Kategorien? –
Die Zonentabelle. –