如何区分一个表中的三列并用PHP显示
我有个问题。以下是我的PHP代码:如何区分一个表中的三列并用PHP显示,php,mysql,postgresql,Php,Mysql,Postgresql,我有个问题。以下是我的PHP代码: $commentcall = pg_query("SELECT WSalamPembuka,WKonfirmasiNamaCust,WVerifikasiData ,WKemampuanBertanya ,WProductKnowledge ,WSolusi,WAlternativeSolusi,WSistemPelaporan,WEmpati,WResponsif,WRamahSopan,WPercayaDiri,WHoldCall,WOfferHe
$commentcall = pg_query("SELECT WSalamPembuka,WKonfirmasiNamaCust,WVerifikasiData ,WKemampuanBertanya ,WProductKnowledge ,WSolusi,WAlternativeSolusi,WSistemPelaporan,WEmpati,WResponsif,WRamahSopan,WPercayaDiri,WHoldCall,WOfferHelp,WPenutup
FROM call
WHERE
inputdate >='$start' AND inputdate<='$end' AND Agentname LIKE '$agen'");
while($result2=pg_fetch_row($commentcall))
{
for($x=1;$x<=15;$x++)
{
if(($result2[$x]) != "" )
{
echo "<tr>
<td align=\"center\" style=\"border:1px solid grey;width:55%\">",$result2[$x],"</td></tr>";
}
}
}
PostgreSQL的输出如下所示:
所以我想如下所示,但不必再次显示相同的数据
您可以看到对象“solusi”显示了两次,因为数据库有两个数据“solusi”
有什么帮助吗?谢谢您可以修改PostgrSQL查询,将每行的列累加为
数组
,然后执行unest
(将数组扩展为一组行)和DISTINCT
:
SELECT DISTINCT
unnest(
ARRAY[WSalamPembuka,
WKonfirmasiNamaCust,
WVerifikasiData ,
WKemampuanBertanya ,
WProductKnowledge ,
WSolusi,
WAlternativeSolusi,
WSistemPelaporan,
WEmpati,
WResponsif,
WRamahSopan,
WPercayaDiri,
WHoldCall,
WOfferHelp,
WPenutup]
)
FROM call
WHERE
inputdate ='02/12/2015' AND Agentname LIKE 'vita'
因为仅更改查询就返回了“one-clunn”列表,所以您需要更改php代码并删除第二个循环
($x=1;$xSo,为了确保我理解问题,您想只选择唯一的值吗?1.使用日期数据存储日期type@Epodax是的。你可以看到这个表有点奇怪。谢谢。你的解决方案在我的PostgreSQL中有效,但在PHP中,它没有出现。你有其他解决方案吗?还是我错了?它不起作用,因为在PHP您假设行有15列,但从我的答案来看,行只有一列。将($x=1;$xThankyou)的行更改为。最后,我已经完全删除了该循环。它可以工作了。:D
SELECT DISTINCT
unnest(
ARRAY[WSalamPembuka,
WKonfirmasiNamaCust,
WVerifikasiData ,
WKemampuanBertanya ,
WProductKnowledge ,
WSolusi,
WAlternativeSolusi,
WSistemPelaporan,
WEmpati,
WResponsif,
WRamahSopan,
WPercayaDiri,
WHoldCall,
WOfferHelp,
WPenutup]
)
FROM call
WHERE
inputdate ='02/12/2015' AND Agentname LIKE 'vita'