Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>So, there were plenty of good suggestions, but none did exactly what I wanted. Fortunately I was able to use them to figure out what I really wanted to do. The only thing the following doesn't do is print the last few unused letters (if there are any). That's why I have that cfif statement checking for 'W' as that's the last letter I use, otherwise it should check for Z.</p> <pre><code>&lt;cfquery datasource="#application.dsn#" name="qTitles"&gt; SELECT title, url, substr(titles,1,1) as indexLetter FROM list ORDER BY indexLetter,title &lt;/cfquery&gt; &lt;cfset linkLetter = "#asc('A')#"&gt; &lt;cfoutput query="titles" group="indexletter"&gt; &lt;cfif chr(linkLetter) eq #qTitles.indexletter#&gt; &lt;a href="###ucase(qTitles.indexletter)#"&gt;#ucase(qTitles.indexletter)#&lt;/a&gt; &lt;cfif asc('W') neq linkLetter&gt;|&lt;/cfif&gt; &lt;cfset linkLetter = ++LinkLetter&gt; &lt;cfelse&gt; &lt;cfscript&gt; while(chr(linkLetter) != qTitles.indexletter) { WriteOutput(" " &amp; chr(linkLetter) &amp; " "); IF(linkLetter != asc('W')){WriteOutput("|");}; ++LinkLetter; } &lt;/cfscript&gt; &lt;a href="###ucase(qTitles.indexletter)#"&gt;#ucase(qTitles.indexletter)#&lt;/a&gt; &lt;cfif asc('W') neq linkLetter&gt;|&lt;/cfif&gt; &lt;cfset linkLetter = ++LinkLetter&gt; &lt;/cfif&gt; &lt;/cfoutput&gt; &lt;ul&gt; &lt;cfset currentLetter = ""&gt; &lt;cfoutput query="qTitles" group="title"&gt; &lt;cfif currentLetter neq #qTitles.indexletter#&gt; &lt;li&gt;&lt;a name="#ucase(qTitles.indexletter)#"&gt;#ucase(qTitles.indexletter)#&lt;/a&gt;&lt;/li&gt; &lt;/cfif&gt; &lt;cfset currentLetter = #qTitles.indexletter#&gt; &lt;li&gt;&lt;a href="#url#"&gt;#title#&lt;/a&gt;&lt;/li&gt; &lt;/cfoutput&gt; &lt;/ul&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload