$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 . ')' : '';