2012-04-08 26 views
0

Ich habe eine Abfrage wie folgt:Gibt es eine Möglichkeit, Duplikate zu vermeiden?

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

Was ich will, ist, dass so etwas

Greenville ..... ..... ..... Franklin ....... .......

Ich habe unter Code, aber es schreibt alle Namen der Stadt.Was ich will, ist, dass ich den Namen der Stadt nur einmal schreiben will.Ist es ein Weg um dies zu tun?

<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

Ich möchte Ihnen die Duplikate zeigen. Gibt es eine Möglichkeit, nur einmal zu drucken?

+0

Welches ist das Schema dieser Tabelle ist? Welches ist die Art von Stadt? Vielleicht, wenn Sie ein ORM verwenden, ist es ein Objekt ... – g3rv4

Antwort

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

Kann das Schlüsselwort 'DISTINCT' auch verwendet werden? – Michelle

+0

SELECT DISTINCT sollte genau das gleiche wie diese GROUP BY tun ... aber da er ein ORM verwendet, bin ich mir nicht sicher, was unter der Haube passiert ... dachte, es würde nicht weh tun, dasselbe zu versuchen, es anders zu schreiben . – g3rv4

+0

DISTINCT kann nur für STADT oder NAME verwendet werden, nicht für beide – sujal

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

Nur wenn Sie

einzigartige Stadt wollen, wenn es für beide NAME und TOWN

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

das ist nicht das Problem: S – user1277467

Verwandte Themen