在PHP中显示表中的数据

$sql=" SELECT * from `request_location` where requestid = '".$requestid."' ";
    $result = mysqli_query($con, $sql);
    if(mysqli_num_rows($result)>0)
        {
            echo "(";
            while($row = mysqli_fetch_assoc($result))
                {
                    echo  $row["location_tag"]; 
                    echo ",";
                }
            echo ")";   
        }

我上面的代码以一种格式显示数据,其中结果放在圆括号中,每个术语用逗号分隔

我得到的结果是这样的

(a,b,c,)

虽然看起来不错,但我希望逗号不应该出现在c之后,因为它是这样的最后一项

(a,b,c)

谁能告诉我最后一个元素后如何删除逗号

解决方法:

解决方案1:

您可以使用implode()函数和array()来实现.

其背后的逻辑:

1)取一个空白数组.

2)以与现有相同的方式获取结果.

3)将结果追加到数组.

4)循环结束后,请用逗号将implode()插入数组.

5)在结果前添加一个前置词,然后发布前置词(和).

sql=" SELECT * from `request_location` where requestid = '".$requestid."' ";
$result = mysqli_query($con, $sql);
$arr = array();
if(mysqli_num_rows($result)>0) {
  while($row = mysqli_fetch_assoc($result)) {
    $arr[] = ["location_tag"]; 
  }
}
echo ! empty($arr) ? '(' . implode(',', $arr) . ')' : '';

解决方案2:

使用MYSQL的GROUP_CONCAT()(如果您只想从数据库表中获取一个字段).

sql=" SELECT GROUP_CONCAT(location_tag) from `request_location` where requestid = '".$requestid."' ";
    $result = mysqli_query($con, $sql);
    $ids = '';
    if(mysqli_num_rows($result)>0) {
      while($row = mysqli_fetch_assoc($result)) {
        $ids = ["location_tag"]; 
      }
    }

echo ! empty($ids) ? '(' . $ids . ')' : '';
上一篇:使用PHP构建更直观的聊天过滤器


下一篇:php-使用html表单在多列中搜索