2015-09-18 2 views
0

У меня есть таблица, где я могу щелкнуть заголовки, чтобы отсортировать всю таблицу по разным столбцам, но только одним способом ASC или DESC. Как создать простой заголовок, который может сделать так: сортировка ASC и DESCCFML сортировка Заголовок ASC и DESC (In einer Tabelle sortieren)

Вот как это выглядит:

<CFIF IsDefined("sort") is "True"> 
<cfparam name="sort" default="name"> 
<cfquery name="ad_tabelle" datasource="test"> 
    SELECT Name, Nachname, Geschlecht, Adresse, Postleitzahl, Land, Datum 
    FROM adresstabelle 
    ORDER BY #sort# 
</cfquery> 
<CFELSE> 
<CFQUERY name="ad_tabelle" datasource="test"> 
    SELECT Name, Nachname, Geschlecht, Adresse, Postleitzahl, Land, Datum 
    FROM adresstabelle 
</CFQUERY> 
</CFIF> 

<TABLE border="9" bordercolor="#04B4AE" width="80%" bgcolor=#f0f8ff> 
    <TR> 
     <TD colspan="7"><H3><B>Adressen 

    <TR> 
     <TD><A HREF="HalloSeite2.cfm?sort=name">Name</A> 
      <a href="HalloSeite2.cfm?sort=name ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=name DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=nachname">Nachname</A> 
      <a href="HalloSeite2.cfm?sort=nachname ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=nachname DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=geschlecht">Geschlecht</A> 
      <a href="HalloSeite2.cfm?sort=geschlecht ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=geschlecht DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=adresse">Adresse</A> 
      <a href="HalloSeite2.cfm?sort=adresse ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=adresse DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=postleitzahl">Postleitzahl</A> 
      <a href="HalloSeite2.cfm?sort=postleitzahl ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=postleitzahl DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=land">Land</A> 
      <a href="HalloSeite2.cfm?sort=land ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=land DESC" class="button"> &#8681;</a> 
     </TD> 
     <TD><A HREF="HalloSeite2.cfm?sort=datum">Datum</A> 
      <a href="HalloSeite2.cfm?sort=datum ASC" class="button">&#8679;</a> 
      <a href="HalloSeite2.cfm?sort=datum DESC" class="button"> &#8681;</a> 
     </TD> 
    </TR> 
     <cfoutput query="ad_tabelle"> 
     <TR> 
      <TD><P>#Name#</P></TD> 
      <TD><P>#Nachname#</P></TD> 
      <TD><P>#Geschlecht#</P></TD> 
      <TD><P>#Adresse#</P></TD> 
      <TD><P>#Postleitzahl#</P></TD> 
      <TD><P>#Land#</P></TD> 
      <TD><P>#Datum#</P></TD> 

     </TR> 
     </cfoutput> 
</table> 

ответ

0

Ok его сделали!

<cfparam name="sort" default="name"> 
<cfquery name="ad_tabelle" datasource="test"> 
    SELECT Name, Nachname, Geschlecht, Adresse, Postleitzahl, Land, Datum 
    FROM adresstabelle 
    ORDER BY #sort# 
</cfquery> 


<TABLE border="9" bordercolor="#04B4AE" width="80%" bgcolor=#f0f8ff> 
    <TR> 
     <TD colspan="7"><H3><B>Adressen 

    <TR> 
     <TD> 

     <a href="HalloSeite2.cfm?sort=name <cfif sort is "name">DESC</cfif>">Name</a> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=nachname <cfif sort is "nachname">DESC</cfif>">Nachname</A> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=geschlecht <cfif sort is "geschlecht">DESC</cfif>">Geschlecht</A> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=adresse <cfif sort is "adresse">DESC</cfif>">Adresse</A> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=postleitzahl <cfif sort is "postleitzahl">DESC</cfif>">Postleitzahl</A> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=land <cfif sort is "land">DESC</cfif>">Land</A> 
     </TD> 
     <TD> 
     <A HREF="HalloSeite2.cfm?sort=datum <cfif sort is "datum">DESC</cfif>">Datum</A> 
     </TD> 
    </TR> 
     <cfoutput query="ad_tabelle"> 
     <TR> 
      <TD><P>#Name#</P></TD> 
      <TD><P>#Nachname#</P></TD> 
      <TD><P>#Geschlecht#</P></TD> 
      <TD><P>#Adresse#</P></TD> 
      <TD><P>#Postleitzahl#</P></TD> 
      <TD><P>#Land#</P></TD> 
      <TD><P>#Datum#</P></TD> 

     </TR> 
     </cfoutput> 
</table> 










<HTML> 
    <HEAD> 
    <Title>Hallo Welt - Seite Zwei </Title> 
     </Head> 
     <Body> 
    <body style="background-color:#00BFFF;"> 
</body> 
+0

Хотя это действительно работает, он делает запрос уязвимым для SQL-инъекции. В таких случаях, когда вы не можете использовать cfqueryparam, сначала проверьте параметры перед их использованием в sql. Например, 'ORDER BY # url.sort # someDefaultColumnName'. Кроме того, это хорошая практика для переменных области, то есть 'url.sort', а не просто' sort'. – Leigh