我有这样的查询
SELECT TOWN, NAME FROM CINEMA WHERE CITY_ID = ".$_POST['country']." GROUP BY TOWN, NAME
在视图方面,我在template_lite
的帮助下获取值 <table border="1" >
<br />
{foreach value=mp from=$mpbycity}
<tr><td>{$mp.TOWN}</td></tr>
<tr><td>{$mp.NAME}</td></tr>
{/foreach}
</table>
问题是重复。你可以从下面的图片中看到。
我尝试过array_unique,但它不起作用。
答案 0 :(得分:1)
首先,在写入查询..CITY_ID = ".$_POST['country']."
之前,必须先过滤变量。使用此代码,攻击者可以在查询时注入代码。检查Sql injection。为避免这种情况,请使用mysql_real_escape_string()。
..CITY_ID = ".mysql_real_escape_string($_POST['country'])."...
对于唯一数组,您可以使用array_unique()
,SELECT DISTINCT
,GROUP BY
子句。同样在循环中可以避免将重复值写入数组。一切都取决于您的数据库结构和查询。
答案 1 :(得分:0)
你没有重复。基本上,你是通过语法迭代分组,并在两个diff行中打印它们。
您拥有的输出就像
A B
A C
A D
B C
B D
B E
然后将其打印为
A
B
A
C
A
D
B
C
B
E
, 你认为是重复的。
组合{$ mp.TOWN}和{$ mp.NAME}组合是唯一的。