php - group_concat 问题,需要唯一

标签 php mysql pdo

我正在从 MYSQL 中提取数据并使用 GROUP_CONCAT 和 AS。

<ul class="retailers-list">
<?  
$query = "SELECT id, country, group_concat(DISTINCT city SEPARATOR '<br>') AS city, country FROM retailers GROUP BY country";
$stmt = $db->query($query);
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) :
?>
<li>
<a href="search.php?country=<?= $row['country']; ?>"><?= $row['country']; ?></a>
<br>
<a href="search.php?city=<?= $row['city']; ?>">
<?= $row['city']; ?></a> //group_concat / AS
</li>   
<?  endwhile ?>     
</ul>

问题是输出是一个链接。它似乎将所有城市值分组到 $row['city']; 中。我怎样才能让每个城市拥有自己独特的链接,我需要使用 group_concat 和 AS 并为每个城市提供自己独特的 URL。

相关帖子:Listing issue, GROUP mysql

最佳答案

这是我的解决方案!解决了!

<ul class="retailers-list">
<?  
$query = "SELECT id, country, group_concat(DISTINCT city) AS city, country FROM retailers GROUP BY country";
$stmt = $db->query($query);
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) :
?>
<li>
<a data-pjax="content" data-toggle="collapse" data-target="#<?= $row['id']; ?>" href="retailers.php?country=<?= $row['country']; ?>">
<?= $row['country']; ?></a>


<div id ="<?= $row['id']; ?>" class="collapse in">
<?php 
  $cities = explode(',',$row['city']);
  foreach ($cities as $city) {
?>
    <a data-pjax="content" href="retailers.php?city=<?= $city ?>"><?= $city; ?></a><BR>
<?php
  }
?>
</div>
</li> 
<?  endwhile ?> 

关于php - group_concat 问题,需要唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19638218/

相关文章:

php - 当双方都有多个值时如何在sql中使用IN语句

MySQL查询一个类(class)的书籍成本

php - PDO MySQL prepare->execute INSERT INTO 未出现在数据库中

PHP + MySql,带有多个错误检查的 OR 查询

php - MySql 更新后找不到 mysql.infoschema

php - 当 GoDaddy 主机上的 JSON 内容超过 1MB 时,ajax GET 失败

php - 从 PHP codeigniter 模型返回的结果集中获取单个值

php - OOP PHP - JSON 编码的对象

mysql - 通过 Structured Con 在 C/MySQL 中的 SegFaults

php - 准备语句的 PDO 多参数绑定(bind)