我需要一个帮助。我需要使用PHP和Mysql将DB值连接为带有逗号(,
)分隔符的字符串。
db_order:
id name
1 Rahul
2 Raj
3 Shiv
4 Hari
$qry=mysqli_query($con,"select * from db_order");
while($row=mysqli_fetch_array($qry)){
$data[]=$row;
}
print_r($data);
在我的表中,我需要用逗号(,
)连接所有名称,这样通过执行查询,结果应该像这个Rahul,Raj,Shiv,Hari
。请帮帮我。
使用GROUP_CONCAT
:
SELECT group_concat(name separator ',') FROM YourTable
如果你必须使用php,那么它将像一样
$qry = mysqli_query($con,"select * from db_order");
$str = '';
while($row = mysqli_fetch_array($qry)){
$str .= $row['name'].",";
}
$data = rtrim($str, ",");
echo $data;
您可以通过逗号分隔直接从ur查询中获取值。
若您使用的是mysql,那个么您可以像一样获得逗号分隔的表名
select GROUP_CONCAT(name) from <table_name>;
如果您在oracle中有数据库,那么您可以使用wm_concat()来代替GROUP_CONNCT()。
请尝试以下操作:
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'test';
$con = mysql_connect($server, $username, $password) or die("Error:" . mysql_error());
mysql_select_db($database, $con) or die("Unable to select DB" . mysql_error());
$qry = "SELECT id, name FROM users";
$res = mysql_query($qry, $con) or die("Error to execute query " . mysql_error());
$users = '';
if (mysql_num_rows($res)) {
while ($row = mysql_fetch_array($res)){
if ($users) {
$users .= ',' . $row['name'];
} else {
$users = $row['name'];
}
}
}
echo $users;