我想用逗号破坏平台数据,例如:Windows,Mac,Linux。
我尝试了不同的选择,但仍然没有找到解决方案。所以我有一个问题如何破坏我用这段代码获得的数据?
<?php
$this->load->model('catalog/platform');
$query = $this->db->query("SELECT p2p.platform_id, p.parent_id FROM "
. DB_PREFIX . "platform p LEFT JOIN " . DB_PREFIX . "product_to_platform p2p
ON p.platform_id=p2p.platform_id WHERE product_id='" . $product_id . "' AND parent_id=0");
$prodplatforms = $query->rows;
foreach($prodplatforms as $prodplatform){
$platform_id = $prodplatform['platform_id'];
$platform_info = $this->model_catalog_platform->getPlatform($platform_id);
$caturl = (HTTP_SERVER . 'index.php?route=product/platform&path=' . $platform_id);
$str = $platform_info['name'];
echo '<a href="' . $caturl . '">' . $str . '</a>';
}
?>
答案 0 :(得分:0)
您需要进行一些编辑 - 而不是$str = $platform_info['name'];
执行此操作:
// ...
$prodplatforms = $query->rows;
$platforms = array();
foreach($prodplatforms as $prodplatform){
$platform_id = $prodplatform['platform_id'];
$platform_info = $this->model_catalog_platform->getPlatform($platform_id);
$caturl = (HTTP_SERVER . 'index.php?route=product/platform&path=' . $platform_id);
$platforms[] = $platform_info['name'];
}
echo '<a href="' . $caturl . '">' . implode(', ', $platforms) . '</a>';
但现在查看代码我想你只想让每个平台名称链接到它的平台URL ......
查看您的代码我猜您正在模板文件中执行此操作。也许您只是将代码放在您的控制器,模型和模板中 - 这没关系,但如果您真的在模板中执行此操作,请将代码拆分为图层:
<强>控制器强>:
$this->load->model('catalog/platform');
$prodplatforms = $this->model_catalog_platform->getPlatforms($product_id);
$this->data['platforms'] = array();
foreach($prodplatforms as $prodplatform){
$platform_id = $prodplatform['platform_id'];
$platform_info = $this->model_catalog_platform->getPlatform($platform_id);
$caturl = (HTTP_SERVER . 'index.php?route=product/platform&path=' . $platform_id);
$this->data['platforms'][] = '<a href="' . $caturl . '">' . $platform_info['name'] . '</a>';
}
模型(catalog/model/catalog/platform.php
):
public function getPlatforms($product_id) {
$query = $this->db->query("SELECT p2p.platform_id, p.parent_id FROM " . DB_PREFIX . "platform p LEFT JOIN " . DB_PREFIX . "product_to_platform p2p ON p.platform_id=p2p.platform_id WHERE product_id='" . $product_id . "' AND parent_id=0");
return $query->rows;
}
查看模板:
<div><?php echo implode(', ', $platforms); ?></div>