2012-04-08 106 views
0

我有这样的查询:有没有办法防止重复?

$mp = NCore::db()->query("SELECT DISTINCT TOWN,NAME FROM CINEMA WHERE CITY_ID = ".$_POST['town'].""); 

我想是这样的事情

格林维尔 ..... ..... ..... 富兰克林 ....... .......

我有下面的代码,但是它会写出所有的城镇名称。我想要的是我只想写一次城镇名称。有一种方法去做这个?

<h1>Son eklenen sinema salonları</h1> 
    <form action="#" method="post"> 
     <table border ="1"> 


      {foreach value=mp from=$mpbycity} 

      <tr> 
       <td> 


        {$mp.TOWN} 
       </td> 
      </tr> 
      <tr> 
       <td> 
        {$mp.NAME} 
       </td> 
      </tr> 

      {/foreach} 
     </table> 

</form> 

enter image description here

我想告诉你的副本。有没有办法只打印一次?

+0

这是该表的模式? TOWN的类型是什么?也许,如果你使用ORM,它是一个对象... – g3rv4 2012-04-08 07:00:21

回答

0
$mp = NCore::db()->query("SELECT TOWN, NAME FROM CINEMA WHERE CITY_ID = ".$_POST['town']." GROUP BY TOWN, NAME"); 
+0

可以使用'DISTINCT'关键字吗? – Michelle 2012-04-08 06:24:11

+0

SELECT DISTINCT应该与GROUP BY完全相同......但是当他使用ORM时,我不确定引擎盖下发生了什么......认为尝试写同样的东西并不会有什么伤害。 – g3rv4 2012-04-08 06:57:29

+0

DISTINCT只能用于TOWN或NAME,不能用于 – sujal 2012-04-08 06:57:46

0
$mp = NCore::db()->query("SELECT TOWN,NAME FROM CINEMA WHERE CITY_ID = ".$_POST['town']." GROUP BY TOWN"); 

只有当你想要独一无二TOWN

如果是NAME和TOWN

$mp = NCore::db()->query("SELECT TOWN,NAME FROM CINEMA WHERE CITY_ID = ".$_POST['town']." GROUP BY TOWN,NAME"); 
+0

这不是问题:S – user1277467 2012-04-08 06:53:26

相关问题